@@ -31,6 +31,10 @@ using namespace o2::aod;
3131struct ZDCLIAnalysis {
3232
3333 // Configurable number of bins
34+ Configurable<bool > useZvtx{" useZvtx" , false , " If true uses Z_vertex" };
35+ Configurable<float > zVval{" zVval" , 10 ., " Z_vertex cut value" };
36+ Configurable<float > tStamp{" tStamp" , 100000 ., " maximum value for timestamp" };
37+ //
3438 Configurable<int > nBinsADC{" nBinsADC" , 1000 , " n bins 4 ZDC ADCs" };
3539 Configurable<int > nBinsAmp{" nBinsAmp" , 1025 , " n bins 4 ZDC amplitudes" };
3640 Configurable<int > nBinsTDC{" nBinsTDC" , 480 , " n bins 4 TDCs" };
@@ -70,13 +74,31 @@ struct ZDCLIAnalysis {
7074 registry.add (" hZPAvstdc" , " ZPA vs tdc; ZPA amplitude; ZPA TDC" , {HistType::kTH2F , {{{480 , -13.5 , 11.45 }, {nBinsAmp, -0.5 , MaxZP}}}});
7175 //
7276 registry.add (" hZNvsV0A" , " ZN vs V0A" , {HistType::kTH2F , {{{nBinsFit, 0 ., MaxMultFV0}, {nBinsAmp, -0.5 , 2 . * MaxZN}}}});
73- registry.add (" hZNAvsFT0A" , " ZNA vs FT0A" , {HistType::kTH2F , {{{nBinsFit, 0 ., MaxMultFT0}, {nBinsAmp, -0.5 , 2 . * MaxZN}}}});
74- registry.add (" hZNCvsFT0C" , " ZNC vs FT0C" , {HistType::kTH2F , {{{nBinsFit, 0 ., MaxMultFT0}, {nBinsAmp, -0.5 , 2 . * MaxZN}}}});
77+ registry.add (" hZNAvsFT0A" , " ZNA vs FT0A" , {HistType::kTH2F , {{{nBinsFit, 0 ., MaxMultFT0}, {nBinsAmp, -0.5 , MaxZN}}}});
78+ registry.add (" hZNCvsFT0C" , " ZNC vs FT0C" , {HistType::kTH2F , {{{nBinsFit, 0 ., MaxMultFT0}, {nBinsAmp, -0.5 , MaxZN}}}});
79+ //
80+ registry.add (" hZNAvscentrFT0A" , " ZNA vs centrality FT0A" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZN}}}});
81+ registry.add (" hZNAvscentrFT0C" , " ZNA vs centrality FT0C" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZN}}}});
82+ registry.add (" hZNAvscentrFT0M" , " ZNA vs centrality FT0M" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZN}}}});
83+ registry.add (" hZPAvscentrFT0A" , " ZPA vs centrality FT0A" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZP}}}});
84+ registry.add (" hZPAvscentrFT0C" , " ZPA vs centrality FT0C" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZP}}}});
85+ registry.add (" hZPAvscentrFT0M" , " ZPA vs centrality FT0M" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZP}}}});
86+ registry.add (" hZNCvscentrFT0A" , " ZNC vs centrality FT0A" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZN}}}});
87+ registry.add (" hZNCvscentrFT0C" , " ZNC vs centrality FT0C" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZN}}}});
88+ registry.add (" hZNCvscentrFT0M" , " ZNC vs centrality FT0M" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZN}}}});
89+ registry.add (" hZPCvscentrFT0A" , " ZPC vs centrality FT0A" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZP}}}});
90+ registry.add (" hZPCvscentrFT0C" , " ZPC vs centrality FT0C" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZP}}}});
91+ registry.add (" hZPCvscentrFT0M" , " ZPC vs centrality FT0M" , {HistType::kTH2F , {{{100 , 0 ., 100 .}, {nBinsAmp, -0.5 , MaxZP}}}});
92+ //
93+ registry.add (" hZNAvstimestamp" , " ZNA vs timestamp" , {HistType::kTH2F , {{{100 , 0 ., tStamp}, {nBinsAmp, -0.5 , MaxZN}}}});
94+ registry.add (" hZNCvstimestamp" , " ZNC vs timestamp" , {HistType::kTH2F , {{{100 , 0 ., tStamp}, {nBinsAmp, -0.5 , MaxZN}}}});
95+ registry.add (" hZPAvstimestamp" , " ZPA vs timestamp" , {HistType::kTH2F , {{{100 , 0 ., tStamp}, {nBinsAmp, -0.5 , MaxZP}}}});
96+ registry.add (" hZPCvstimestamp" , " ZPC vs timestamp" , {HistType::kTH2F , {{{100 , 0 ., tStamp}, {nBinsAmp, -0.5 , MaxZP}}}});
7597 }
7698
7799 void process (aod::ZDCLightIons const & zdclightions)
78100 {
79- for (auto & zdc : zdclightions) {
101+ for (auto const & zdc : zdclightions) {
80102 auto tdczna = zdc.znaTdc ();
81103 auto tdcznc = zdc.zncTdc ();
82104 auto tdczpa = zdc.zpaTdc ();
@@ -109,34 +131,54 @@ struct ZDCLIAnalysis {
109131 auto timestamp = zdc.timestamp ();
110132 auto selectionBits = zdc.selectionBits ();
111133
112- registry.get <TH1>(HIST (" hZNApmc" ))->Fill (zna);
113- registry.get <TH1>(HIST (" hZNCpmc" ))->Fill (znc);
114- registry.get <TH1>(HIST (" hZPApmc" ))->Fill (zpa);
115- registry.get <TH1>(HIST (" hZPCpmc" ))->Fill (zpc);
116- registry.get <TH1>(HIST (" hZEM" ))->Fill (zem1 + zem2);
117- //
118- registry.get <TH2>(HIST (" hZNAamplvsADC" ))->Fill (znaADC, zna);
119- registry.get <TH2>(HIST (" hZNCamplvsADC" ))->Fill (zncADC, znc);
120- registry.get <TH2>(HIST (" hZPAamplvsADC" ))->Fill (zpaADC, zpa);
121- registry.get <TH2>(HIST (" hZPCamplvsADC" ))->Fill (zpcADC, zpc);
122- //
123- registry.get <TH2>(HIST (" hZNvsZEM" ))->Fill (zem1 + zem2, zna + znc);
124- registry.get <TH2>(HIST (" hZNAvsZNC" ))->Fill (znc, zna);
125- registry.get <TH2>(HIST (" hZPAvsZPC" ))->Fill (zpc, zpa);
126- registry.get <TH2>(HIST (" hZNAvsZPA" ))->Fill (zpa, zna);
127- registry.get <TH2>(HIST (" hZNCvsZPC" ))->Fill (zpc, znc);
128- //
129- registry.get <TH2>(HIST (" hZNAvstdc" ))->Fill (tdczna, zna);
130- registry.get <TH2>(HIST (" hZNCvstdc" ))->Fill (tdcznc, znc);
131- registry.get <TH2>(HIST (" hZPAvstdc" ))->Fill (tdczpa, zpa);
132- registry.get <TH2>(HIST (" hZPCvstdc" ))->Fill (tdczpc, zpc);
133- //
134- registry.get <TH2>(HIST (" hZNAcvsZNAsum" ))->Fill (znapm1 + znapm2 + znapm3 + znapm4, zna);
135- registry.get <TH2>(HIST (" hZNCcvsZNCsum" ))->Fill (zncpm1 + zncpm2 + zncpm3 + zncpm4, znc);
136- //
137- registry.get <TH2>(HIST (" hZNvsV0A" ))->Fill (multV0A / 100 ., zna + znc);
138- registry.get <TH2>(HIST (" hZNAvsFT0A" ))->Fill ((multFT0A) / 100 ., zna);
139- registry.get <TH2>(HIST (" hZNCvsFT0C" ))->Fill ((multFT0C) / 100 ., znc);
134+ if ((useZvtx && (zvtx < zVval)) || !useZvtx) {
135+ registry.get <TH1>(HIST (" hZNApmc" ))->Fill (zna);
136+ registry.get <TH1>(HIST (" hZNCpmc" ))->Fill (znc);
137+ registry.get <TH1>(HIST (" hZPApmc" ))->Fill (zpa);
138+ registry.get <TH1>(HIST (" hZPCpmc" ))->Fill (zpc);
139+ registry.get <TH1>(HIST (" hZEM" ))->Fill (zem1 + zem2);
140+ //
141+ registry.get <TH2>(HIST (" hZNAamplvsADC" ))->Fill (znaADC, zna);
142+ registry.get <TH2>(HIST (" hZNCamplvsADC" ))->Fill (zncADC, znc);
143+ registry.get <TH2>(HIST (" hZPAamplvsADC" ))->Fill (zpaADC, zpa);
144+ registry.get <TH2>(HIST (" hZPCamplvsADC" ))->Fill (zpcADC, zpc);
145+ //
146+ registry.get <TH2>(HIST (" hZNvsZEM" ))->Fill (zem1 + zem2, zna + znc);
147+ registry.get <TH2>(HIST (" hZNAvsZNC" ))->Fill (znc, zna);
148+ registry.get <TH2>(HIST (" hZPAvsZPC" ))->Fill (zpc, zpa);
149+ registry.get <TH2>(HIST (" hZNAvsZPA" ))->Fill (zpa, zna);
150+ registry.get <TH2>(HIST (" hZNCvsZPC" ))->Fill (zpc, znc);
151+ //
152+ registry.get <TH2>(HIST (" hZNAvstdc" ))->Fill (tdczna, zna);
153+ registry.get <TH2>(HIST (" hZNCvstdc" ))->Fill (tdcznc, znc);
154+ registry.get <TH2>(HIST (" hZPAvstdc" ))->Fill (tdczpa, zpa);
155+ registry.get <TH2>(HIST (" hZPCvstdc" ))->Fill (tdczpc, zpc);
156+ //
157+ registry.get <TH2>(HIST (" hZNAcvsZNAsum" ))->Fill (znapm1 + znapm2 + znapm3 + znapm4, zna);
158+ registry.get <TH2>(HIST (" hZNCcvsZNCsum" ))->Fill (zncpm1 + zncpm2 + zncpm3 + zncpm4, znc);
159+ //
160+ registry.get <TH2>(HIST (" hZNvsV0A" ))->Fill (multV0A / 100 ., zna + znc);
161+ registry.get <TH2>(HIST (" hZNAvsFT0A" ))->Fill ((multFT0A) / 100 ., zna);
162+ registry.get <TH2>(HIST (" hZNCvsFT0C" ))->Fill ((multFT0C) / 100 ., znc);
163+ //
164+ registry.get <TH2>(HIST (" hZNAvscentrFT0A" ))->Fill (centrFT0A, zna);
165+ registry.get <TH2>(HIST (" hZNAvscentrFT0C" ))->Fill (centrFT0C, zna);
166+ registry.get <TH2>(HIST (" hZNAvscentrFT0M" ))->Fill (centrFT0M, zna);
167+ registry.get <TH2>(HIST (" hZPAvscentrFT0A" ))->Fill (centrFT0A, zpa);
168+ registry.get <TH2>(HIST (" hZPAvscentrFT0C" ))->Fill (centrFT0C, zpa);
169+ registry.get <TH2>(HIST (" hZPAvscentrFT0M" ))->Fill (centrFT0M, zpa);
170+ registry.get <TH2>(HIST (" hZNCvscentrFT0A" ))->Fill (centrFT0A, znc);
171+ registry.get <TH2>(HIST (" hZNCvscentrFT0C" ))->Fill (centrFT0C, znc);
172+ registry.get <TH2>(HIST (" hZNCvscentrFT0M" ))->Fill (centrFT0M, znc);
173+ registry.get <TH2>(HIST (" hZPCvscentrFT0A" ))->Fill (centrFT0A, zpc);
174+ registry.get <TH2>(HIST (" hZPCvscentrFT0C" ))->Fill (centrFT0C, zpc);
175+ registry.get <TH2>(HIST (" hZPCvscentrFT0M" ))->Fill (centrFT0M, zpc);
176+ //
177+ registry.get <TH2>(HIST (" hZNAvstimestamp" ))->Fill (timestamp, zna);
178+ registry.get <TH2>(HIST (" hZNCvstimestamp" ))->Fill (timestamp, znc);
179+ registry.get <TH2>(HIST (" hZPAvstimestamp" ))->Fill (timestamp, zpa);
180+ registry.get <TH2>(HIST (" hZPCvstimestamp" ))->Fill (timestamp, zpc);
181+ }
140182 }
141183 }
142184};
0 commit comments