4444#include " Framework/runDataProcessing.h"
4545#include " ReconstructionDataFormats/GlobalTrackID.h"
4646#include " ReconstructionDataFormats/Track.h"
47+ #include " Common/Core/TrackSelectionDefaults.h"
4748#include " TPDGCode.h"
4849
4950using namespace std ;
@@ -95,19 +96,26 @@ struct UccZdc {
9596 Configurable<float > evtFracMCcl{" evtFracMCcl" , 0.5 , " fraction of events for MC closure" };
9697
9798 // Track-kinematics selection
99+ Configurable<int > itsRequirement{" itsRequirement" , TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSall7Layers, " 0: Global Tracks, 2: Hits in the 7 ITS layers" };
98100 Configurable<float > minPt{" minPt" , 0.1 , " minimum pt of the tracks" };
99101 Configurable<float > maxPt{" maxPt" , 50 ., " maximum pt of the tracks" };
100102 Configurable<float > minEta{" minEta" , -0.8 , " minimum eta" };
101103 Configurable<float > maxEta{" maxEta" , +0.8 , " maximum eta" };
102104
103105 // Configurables, binning
106+ Configurable<int > nBinsITSTrack{" nBinsITSTrack" , 2000 , " N bins ITS tracks" };
107+ Configurable<float > minITSTrack{" minITSTrack" , 0 ., " Min ITS tracks" };
108+ Configurable<float > maxITSTrack{" maxITSTrack" , 6000 ., " Min ITS tracks" };
104109 Configurable<float > maxAmpFV0{" maxAmpFV0" , 2000 , " Max FV0 amp" };
105110 Configurable<int > nBinsAmpFT0{" nBinsAmpFT0" , 100 , " N bins FT0 amp" };
111+ Configurable<int > nBinsAmpFT0Fine{" nBinsAmpFT0Fine" , 1000 , " N bins FT0 amp" };
106112 Configurable<float > maxAmpFT0{" maxAmpFT0" , 2500 , " Max FT0 amp" };
107113 Configurable<int > nBinsNch{" nBinsNch" , 2501 , " N bins Nch (|eta|<0.8)" };
114+ Configurable<int > nBinsNchFine{" nBinsNchFine" , 3000 , " N bins Nch (|eta|<0.8)" };
108115 Configurable<float > minNch{" minNch" , 0 , " Min Nch (|eta|<0.8)" };
109- Configurable<float > maxNch{" maxNch" , 2500 , " Max Nch (|eta|<0.8)" };
110- Configurable<int > nBinsZDC{" nBinsZDC" , 400 , " N bins ZDC" };
116+ Configurable<float > maxNch{" maxNch" , 3000 , " Max Nch (|eta|<0.8)" };
117+ Configurable<int > nBinsZN{" nBinsZN" , 400 , " N bins ZN" };
118+ Configurable<int > nBinsZP{" nBinsZP" , 160 , " N bins ZP" };
111119 Configurable<float > minZN{" minZN" , 0 , " Min ZN signal" };
112120 Configurable<float > maxZN{" maxZN" , 150 , " Max ZN signal" };
113121 Configurable<float > maxZP{" maxZP" , 60 , " Max ZP signal" };
@@ -171,7 +179,7 @@ struct UccZdc {
171179 registry.add (" T0Ccent" , " ;;Entries" , kTH1F , {axisCent});
172180 registry.add (" NchUncorrected" , " ;#it{N}_{ch} (|#eta| < 0.8);Entries;" , kTH1F , {{300 , 0 ., 3000 .}});
173181 registry.add (" hEventCounter" , " ;;Events" , kTH1F , {axisEvent});
174- registry.add (" ZNamp" , " ;ZNA+ZNC;Entries;" , kTH1F , {{nBinsZDC , -0.5 , maxZN}});
182+ registry.add (" ZNamp" , " ;ZNA+ZNC;Entries;" , kTH1F , {{nBinsZN , -0.5 , maxZN}});
175183 registry.add (" ExcludedEvtVsFT0M" , " ;T0A+T0C (#times 1/100, -3.3 < #eta < -2.1 and 3.5 < #eta < 4.9);Entries;" , kTH1F , {{nBinsAmpFT0, 0 ., maxAmpFT0}});
176184 registry.add (" ExcludedEvtVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);Entries;" , kTH1F , {{300 , 0 , 3000 }});
177185 registry.add (" Nch" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);" , kTH1F , {{nBinsNch, minNch, maxNch}});
@@ -202,11 +210,17 @@ struct UccZdc {
202210 x->SetBinLabel (17 , " Within ZEM cut?" );
203211
204212 if (doprocessZdcCollAss) {
205- registry.add (" NchVsPt" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {axisPt}}});
206- registry.add (" NchVsOneParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected); ZNA+ZNC; #LT[#it{p}_{T}^{(1)}]#GT" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZDC, -0.5 , maxZN}}});
207- registry.add (" NchVsTwoParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);ZNA+ZNC;#LT[#it{p}_{T}^{(2)}]#GT" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZDC, -0.5 , maxZN}}});
208- registry.add (" NchVsThreeParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);ZNA+ZNC;#LT[#it{p}_{T}^{(3)}]#GT" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZDC, -0.5 , maxZN}}});
209- registry.add (" NchVsFourParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);ZNA+ZNC;#LT[#it{p}_{T}^{(4)}]#GT" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZDC, -0.5 , maxZN}}});
213+ registry.add (" NchVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8); ZNA+ZNC;" , kTH2F , {{{nBinsNchFine, minNch, maxNch}, {nBinsZN, -0.5 , maxZN}}});
214+ registry.add (" NchVsZP" , " ;#it{N}_{ch} (|#eta| < 0.8); ZPA+ZPC;" , kTH2F , {{{nBinsNchFine, minNch, maxNch}, {nBinsZP, -0.5 , maxZP}}});
215+ registry.add (" NITSTacksVsZN" , " ;ITS tracks; ZNA+ZNC;" , kTH2F , {{{nBinsITSTrack, minITSTrack, maxITSTrack}, {nBinsZN, -0.5 , maxZN}}});
216+ registry.add (" NITSTacksVsZP" , " ;ITS tracks; ZPA+ZPC;" , kTH2F , {{{nBinsITSTrack, minITSTrack, maxITSTrack}, {nBinsZP, -0.5 , maxZP}}});
217+ registry.add (" T0MVsZN" , " ;T0A+T0C amp (#times 1/100); ZNA+ZNC;" , kTH2F , {{{nBinsAmpFT0Fine, 0 ., maxAmpFT0}, {nBinsZN, -0.5 , maxZN}}});
218+ registry.add (" T0MVsZP" , " ;T0A+T0C amp (#times 1/100); ZPA+ZPC;" , kTH2F , {{{nBinsAmpFT0Fine, 0 ., maxAmpFT0}, {nBinsZP, -0.5 , maxZP}}});
219+ registry.add (" NchVsZNVsPt" , " ;#it{N}_{ch} (|#eta| < 0.8); ZNA+ZNC;#it{p}_{T} (GeV/#it{c})" , kTH3F , {{{nBinsNch, minNch, maxNch}, {nBinsZN, -0.5 , maxZN}, {axisPt}}});
220+ registry.add (" NchVsOneParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected); ZNA+ZNC; #LT[#it{p}_{T}^{(1)}]#G (GeV/#it{c})T" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZN, -0.5 , maxZN}}});
221+ registry.add (" NchVsTwoParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);ZNA+ZNC;#LT[#it{p}_{T}^{(2)}]#GT" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZN, -0.5 , maxZN}}});
222+ registry.add (" NchVsThreeParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);ZNA+ZNC;#LT[#it{p}_{T}^{(3)}]#GT" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZN, -0.5 , maxZN}}});
223+ registry.add (" NchVsFourParCorrVsZN" , " ;#it{N}_{ch} (|#eta| < 0.8, Corrected);ZNA+ZNC;#LT[#it{p}_{T}^{(4)}]#GT" , kTProfile2D , {{{nBinsNch, minNch, maxNch}, {nBinsZN, -0.5 , maxZN}}});
210224 }
211225
212226 if (doprocessMCclosure) {
@@ -260,21 +274,21 @@ struct UccZdc {
260274 registry.add (" NchVsEt" , " ;#it{E}_{T} (|#eta|<0.8);#LTITS+TPC tracks#GT (|#eta|<0.8);" , kTH2F , {{{nBinsNch, minNch, maxNch}, {nBinsNch, minNch, maxNch}}});
261275 registry.add (" NchVsNPV" , " ;#it{N}_{PV} (|#eta|<1);ITS+TPC tracks (|#eta|<0.8);" , kTH2F , {{{300 , -0.5 , 5999.5 }, {nBinsNch, minNch, maxNch}}});
262276 registry.add (" NchVsITStracks" , " ;ITS tracks nCls >= 5;TITS+TPC tracks (|#eta|<0.8);" , kTH2F , {{{300 , -0.5 , 5999.5 }, {nBinsNch, minNch, maxNch}}});
263- registry.add (" ZNVsFT0A" , " ;T0A (#times 1/100);ZNA+ZNC;" , kTH2F , {{{80 , 0 ., 1800 .}, {nBinsZDC , -0.5 , maxZN}}});
264- registry.add (" ZNVsFT0C" , " ;T0C (#times 1/100);ZNA+ZNC;" , kTH2F , {{{80 , 0 ., 600 .}, {nBinsZDC , -0.5 , maxZN}}});
265- registry.add (" ZNVsFT0M" , " ;T0A+T0C (#times 1/100);ZNA+ZNC;" , kTH2F , {{{nBinsAmpFT0, 0 ., maxAmpFT0}, {nBinsZDC , -0.5 , maxZN}}});
266- registry.add (" ZNAamp" , " ;ZNA;Entries;" , kTH1F , {{nBinsZDC , -0.5 , maxZN}});
267- registry.add (" ZPAamp" , " ;ZPA;Entries;" , kTH1F , {{nBinsZDC , -0.5 , maxZP}});
268- registry.add (" ZNCamp" , " ;ZNC;Entries;" , kTH1F , {{nBinsZDC , -0.5 , maxZN}});
269- registry.add (" ZPCamp" , " ;ZPC;Entries;" , kTH1F , {{nBinsZDC , -0.5 , maxZP}});
277+ registry.add (" ZNVsFT0A" , " ;T0A (#times 1/100);ZNA+ZNC;" , kTH2F , {{{80 , 0 ., 1800 .}, {nBinsZN , -0.5 , maxZN}}});
278+ registry.add (" ZNVsFT0C" , " ;T0C (#times 1/100);ZNA+ZNC;" , kTH2F , {{{80 , 0 ., 600 .}, {nBinsZN , -0.5 , maxZN}}});
279+ registry.add (" ZNVsFT0M" , " ;T0A+T0C (#times 1/100);ZNA+ZNC;" , kTH2F , {{{nBinsAmpFT0, 0 ., maxAmpFT0}, {nBinsZN , -0.5 , maxZN}}});
280+ registry.add (" ZNAamp" , " ;ZNA;Entries;" , kTH1F , {{nBinsZN , -0.5 , maxZN}});
281+ registry.add (" ZPAamp" , " ;ZPA;Entries;" , kTH1F , {{nBinsZP , -0.5 , maxZP}});
282+ registry.add (" ZNCamp" , " ;ZNC;Entries;" , kTH1F , {{nBinsZN , -0.5 , maxZN}});
283+ registry.add (" ZPCamp" , " ;ZPC;Entries;" , kTH1F , {{nBinsZP , -0.5 , maxZP}});
270284 registry.add (" ZNAVsZNC" , " ;ZNC;ZNA" , kTH2F , {{{30 , -0.5 , maxZN}, {30 , -0.5 , maxZN}}});
271285 registry.add (" ZPAVsZPC" , " ;ZPC;ZPA;" , kTH2F , {{{100 , -0.5 , maxZP}, {100 , -0.5 , maxZP}}});
272286 registry.add (" ZNAVsZPA" , " ;ZPA;ZNA;" , kTH2F , {{{20 , -0.5 , maxZP}, {30 , -0.5 , maxZN}}});
273287 registry.add (" ZNCVsZPC" , " ;ZPC;ZNC;" , kTH2F , {{{20 , -0.5 , maxZP}, {30 , -0.5 , maxZN}}});
274288 registry.add (" ZNVsZEM" , " ;ZEM;ZNA+ZNC;" , kTH2F , {{{60 , -0.5 , maxZEM}, {60 , -0.5 , maxZN}}});
275- registry.add (" ZNCVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);ZNC;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {nBinsZDC , minZN, maxZN}}});
276- registry.add (" ZNAVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);ZNA;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {nBinsZDC , minZN, maxZN}}});
277- registry.add (" ZNVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);ZNA+ZNC;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {nBinsZDC , minZN, maxZN}}});
289+ registry.add (" ZNCVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);ZNC;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {nBinsZN , minZN, maxZN}}});
290+ registry.add (" ZNAVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);ZNA;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {nBinsZN , minZN, maxZN}}});
291+ registry.add (" ZNVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);ZNA+ZNC;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {nBinsZN , minZN, maxZN}}});
278292 registry.add (" ZNDifVsNch" , " ;#it{N}_{ch} (|#eta|<0.8);ZNA-ZNC;" , kTH2F , {{{nBinsNch, minNch, maxNch}, {100 , -50 ., 50 .}}});
279293 }
280294
@@ -576,6 +590,8 @@ struct UccZdc {
576590 const double normT0M{(aT0A + aT0C) / 100 .};
577591 float znA{foundBC.zdc ().amplitudeZNA ()};
578592 float znC{foundBC.zdc ().amplitudeZNC ()};
593+ float zpA{foundBC.zdc ().amplitudeZPA ()};
594+ float zpC{foundBC.zdc ().amplitudeZPC ()};
579595 float aZEM1{foundBC.zdc ().amplitudeZEM1 ()};
580596 float aZEM2{foundBC.zdc ().amplitudeZEM2 ()};
581597 float tZNA{foundBC.zdc ().timeZNA ()};
@@ -586,7 +602,10 @@ struct UccZdc {
586602 float tZDCsum{tZNC + tZPC + tZNA + tZPA};
587603 znA /= collEnergy;
588604 znC /= collEnergy;
605+ zpA /= collEnergy;
606+ zpC /= collEnergy;
589607 float sumZNs{znA + znC};
608+ float sumZPs{zpA + zpC};
590609 float sumZEMs{aZEM1 + aZEM2};
591610
592611 // TDC cut
@@ -609,9 +628,12 @@ struct UccZdc {
609628 registry.fill (HIST (" T0Ccent" ), collision.centFT0C ());
610629
611630 // Nch-based selection
612- int glbTracks{ 0 } ;
631+ int itsTracks = 0 , glbTracks = 0 ;
613632 for (const auto & track : tracks) {
614633 // Track Selection
634+ if (track.hasITS ()) {
635+ itsTracks++;
636+ }
615637 if (!track.isGlobalTrack ()) {
616638 continue ;
617639 }
@@ -693,7 +715,7 @@ struct UccZdc {
693715 if (!track.isGlobalTrack ()) {
694716 continue ;
695717 }
696- registry.fill (HIST (" NchVsPt " ), w1, track.pt ());
718+ registry.fill (HIST (" NchVsZNVsPt " ), w1, sumZNs , track.pt ());
697719 }
698720
699721 // EbE one-particle pT correlation
@@ -716,6 +738,12 @@ struct UccZdc {
716738
717739 registry.fill (HIST (" Nch" ), w1);
718740 registry.fill (HIST (" ZNamp" ), sumZNs);
741+ registry.fill (HIST (" NchVsZN" ), w1, sumZNs);
742+ registry.fill (HIST (" NchVsZP" ), w1, sumZPs);
743+ registry.fill (HIST (" NITSTacksVsZN" ), itsTracks, sumZNs);
744+ registry.fill (HIST (" NITSTacksVsZP" ), itsTracks, sumZPs);
745+ registry.fill (HIST (" T0MVsZN" ), normT0M, sumZNs);
746+ registry.fill (HIST (" T0MVsZP" ), normT0M, sumZPs);
719747 registry.fill (HIST (" NchUncorrected" ), glbTracks);
720748 registry.fill (HIST (" NchVsOneParCorr" ), w1, oneParCorr, w1);
721749 registry.fill (HIST (" NchVsOneParCorrVsZN" ), w1, sumZNs, oneParCorr, w1);
0 commit comments