33 canvas_array->
SetName(
"Canvas");
35 TH1F* calo_summ =
new TH1F(
"calo_summ",
"calo_summ", 300, 0, 300);
36 calo_summ->
SetTitle(
Form(
"%s; Energy [mip]; Counts", result_file_name.
Data()));
38 TH2F* h2_calo =
new TH2F(
"calo_2d",
"calo_2d", 50, 0, 1500, 60, 0, 1200);
39 h2_calo->
SetTitle(
Form(
"%s; x [mm]; y [mm]; Average signal [mip]", result_file_name.
Data()));
40 TH2F* h2_text_center =
new TH2F(
"text_center",
"text_center", 50, 0, 1500, 60, 0, 1200);
44 auto ThatVectorX = Mapper->GetUniqueXpositions();
45 auto ThatVectorY = Mapper->GetUniqueYpositions();
46 auto ThatVectorZ = Mapper->GetUniqueZpositions();
49 std::vector<TH1F*> profile_hist_vect;
51 for (
int mod_it = 1; mod_it <
kNmodules; mod_it++)
52 profile_hist_vect.at(mod_it) =
new TH1F(
Form(
"module_%i", mod_it),
Form(
"module_%i", mod_it), 10, 0.5, 10.5);
63 double SumEnergy = 0.;
64 double ScWallCtrEnergy = 0.;
67 int n_events = (max_entries > 0 && tree->
GetEntries() > max_entries) ? max_entries : tree->
GetEntries();
68 cout << n_events << endl;
69 for (
int ev = 0; ev < n_events; ev++)
79 if (ThisDigi->
fFitR2 > 0.5)
82 if (cell_id != 14 && cell_id != 15 && cell_id != 24 && cell_id != 25)
86 if (ScWallCtrEnergy < 60)
98 if (ThisDigi->
fFitR2 > 0.2)
110 profile_hist_vect.at(mod_id)->Fill(sec_id, ThisDigi->
GetSignal());
112 float realXpos = ThatVectorX.at(ThisDigi->GetX());
113 float realYpos = ThatVectorY.at(ThisDigi->GetY());
114 float realZpos = ThatVectorZ.at(ThisDigi->GetZ());
119 auto ibin = h2_text_center->
FindBin(realXpos, realYpos + 50);
121 h2_text_center->
Fill(realXpos, realYpos + 50, ThisDigi->
GetModuleId());
124 calo_summ->
Fill(SumEnergy);
127 for (
int mod_it = 1; mod_it <
kNmodules; mod_it++)
128 profile_hist_vect.at(mod_it)->Scale(1. / n_events);
131 canvas_array->
Add(canv_summ);
136 gPad->SetRightMargin(0.15);
137 canvas_array->
Add(canv_2d);
139 h2_calo->
Scale(1. / n_events);
140 h2_calo->
Draw(
"colz");
142 h2_text_center->
Draw(
"text same");
164 ((
TCanvas*)canvas_array->
At(
i))->SaveAs((result_file_name +
".pdf(").Data());
165 ((
TCanvas*)canvas_array->
At(canvas_array->
GetLast()))->SaveAs((result_file_name +
".pdf)").Data());
166 printf(
"file %s was written\n", (result_file_name +
".pdf").Data());
void memset(T *dest, T i, size_t num)
Copy to memory block [@dest, @dest+@num] num number of times the value of i of type @T with size @typ...
char * Form(const char *fmt,...)
float fFitTimeMax
Quality of waveform fit [] – good near 0.
float fFitR2
Energy deposition from fit of waveform [adc counts].
int fTimeMax
Energy deposition from waveform [adc counts].
Data class for Bmn FHCal digital signal processing.
uint32_t GetSectionId() const
uint32_t GetModuleId() const
void ParseConfig(TString mappingFile)
Class for experimental data at digi level.
uint32_t GetCellId() const
virtual void SetMarkerSize(Size_t msize=1)
void SetName(const char *name)
T * Get(const char *namecycle)
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
void SetTitle(const char *title) override
void Draw(Option_t *option="") override
virtual Int_t Fill(const char *name, Double_t w)
virtual void Scale(Double_t c1=1, Option_t *option="")
virtual Int_t FindBin(Double_t x, Double_t y=0, Double_t z=0)
virtual Int_t Fill(const char *namex, const char *namey, Double_t w)
virtual Double_t GetBinContent(Int_t bin) const
Int_t GetEntriesFast() const
TObject * At(Int_t idx) const override
Int_t GetLast() const override
void Add(TObject *obj) override
void SetLogy(Int_t value=1) override
const char * Data() const
virtual Int_t GetEntry(Long64_t entry, Int_t getall=0)
virtual Long64_t GetEntries() const
Int_t SetBranchAddress(const char *bname, T **add, TBranch **ptr=nullptr)
void fhcal_profile(TString converted_root_file, TString result_file_name, int max_entries)