3131#include " Framework/AnalysisTask.h"
3232#include " Framework/RunningWorkflowInfo.h"
3333#include " Framework/runDataProcessing.h"
34-
34+ //
35+ #include " string"
36+ #include " vector"
37+ #include " set"
3538//
3639namespace extConfPar
3740{
@@ -139,6 +142,7 @@ struct qaMatchEff {
139142 // Other track settings
140143 // TRD presence
141144 Configurable<int > isTRDThere{" isTRDThere" , 2 , " Integer to turn the presence of TRD off, on, don't care (0,1,anything else)" };
145+ Configurable<int > isTOFThere{" isTOFThere" , 2 , " Integer to turn the presence of TOF off, on, don't care (0,1,anything else)" };
142146 //
143147 Configurable<bool > isitMC{" isitMC" , false , " Reading MC files, data if false" };
144148 Configurable<bool > doDebug{" doDebug" , false , " Flag of debug information" };
@@ -1504,6 +1508,11 @@ struct qaMatchEff {
15041508 continue ;
15051509 if ((isTRDThere == 0 ) && track.hasTRD ())
15061510 continue ;
1511+ // choose if we keep the track according to the TOF presence requirement
1512+ if ((isTOFThere == 1 ) && !track.hasTOF ())
1513+ continue ;
1514+ if ((isTOFThere == 0 ) && track.hasTOF ())
1515+ continue ;
15071516
15081517 // kinematic track seletions for all tracks
15091518 if (!isTrackSelectedKineCuts (track))
@@ -2363,7 +2372,7 @@ struct qaMatchEff {
23632372 histos.get <TH1>(HIST (" data/PID/etahist_tpc_noidminus" ))->Fill (track.eta ());
23642373 }
23652374 } // not pions, nor kaons, nor protons
2366- } // end if DATA
2375+ } // end if DATA
23672376 //
23682377 if (trkWITS && isTrackSelectedITSCuts (track)) { // ////////////////////////////////////////// ITS tag inside TPC tagged
23692378 if constexpr (IS_MC) { // ////////////////////// MC
@@ -2703,7 +2712,7 @@ struct qaMatchEff {
27032712 // }
27042713 }
27052714 } // end if ITS
2706- } // end if TPC
2715+ } // end if TPC
27072716 //
27082717 //
27092718 // if (trkWITS) {
@@ -2830,9 +2839,9 @@ struct qaMatchEff {
28302839 histos.get <TH1>(HIST (" data/etahist_tpcits_pos" ))->Fill (track.eta ());
28312840 }
28322841 } // end if ITS
2833- } // end if TPC
2834- //
2835- } // end positive
2842+ } // end if TPC
2843+ //
2844+ } // end positive
28362845 //
28372846 // negative only
28382847 if (track.signed1Pt () < 0 ) {
@@ -2857,9 +2866,9 @@ struct qaMatchEff {
28572866 histos.get <TH1>(HIST (" data/etahist_tpcits_neg" ))->Fill (track.eta ());
28582867 }
28592868 } // end if ITS
2860- } // end if TPC
2861- //
2862- } // end negative
2869+ } // end if TPC
2870+ //
2871+ } // end negative
28632872
28642873 if constexpr (IS_MC) { // MC
28652874 auto mcpart = track.mcParticle ();
@@ -2883,7 +2892,7 @@ struct qaMatchEff {
28832892 histos.get <TH1>(HIST (" MC/primsec/phihist_tpcits_prim" ))->Fill (track.phi ());
28842893 histos.get <TH1>(HIST (" MC/primsec/etahist_tpcits_prim" ))->Fill (track.eta ());
28852894 } // end if ITS
2886- } // end if TPC
2895+ } // end if TPC
28872896 // end if primaries
28882897 } else if (mcpart.getProcess () == 4 ) {
28892898 //
@@ -2905,7 +2914,7 @@ struct qaMatchEff {
29052914 histos.get <TH1>(HIST (" MC/primsec/phihist_tpcits_secd" ))->Fill (track.phi ());
29062915 histos.get <TH1>(HIST (" MC/primsec/etahist_tpcits_secd" ))->Fill (track.eta ());
29072916 } // end if ITS
2908- } // end if TPC
2917+ } // end if TPC
29092918 // end if secondaries from decay
29102919 } else {
29112920 //
@@ -2927,8 +2936,8 @@ struct qaMatchEff {
29272936 histos.get <TH1>(HIST (" MC/primsec/phihist_tpcits_secm" ))->Fill (track.phi ());
29282937 histos.get <TH1>(HIST (" MC/primsec/etahist_tpcits_secm" ))->Fill (track.eta ());
29292938 } // end if ITS
2930- } // end if TPC
2931- } // end if secondaries from material
2939+ } // end if TPC
2940+ } // end if secondaries from material
29322941 //
29332942 // protons only
29342943 if (tpPDGCode == 2212 ) {
@@ -2995,7 +3004,7 @@ struct qaMatchEff {
29953004 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_prminus" ))->Fill (track.eta ());
29963005 }
29973006 } // end if ITS
2998- } // end if TPC
3007+ } // end if TPC
29993008 }
30003009 //
30013010 // pions only
@@ -3063,7 +3072,7 @@ struct qaMatchEff {
30633072 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_piminus" ))->Fill (track.eta ());
30643073 }
30653074 } // end if ITS
3066- } // end if TPC
3075+ } // end if TPC
30673076 //
30683077 // only primary pions
30693078 if (mcpart.isPhysicalPrimary ()) {
@@ -3076,7 +3085,7 @@ struct qaMatchEff {
30763085 histos.get <TH1>(HIST (" MC/PID/phihist_tpcits_pi_prim" ))->Fill (track.phi ());
30773086 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_pi_prim" ))->Fill (track.eta ());
30783087 } // end if ITS
3079- } // end if TPC
3088+ } // end if TPC
30803089 // end if primaries
30813090 } else if (mcpart.getProcess () == 4 ) {
30823091 //
@@ -3090,7 +3099,7 @@ struct qaMatchEff {
30903099 histos.get <TH1>(HIST (" MC/PID/phihist_tpcits_pi_secd" ))->Fill (track.phi ());
30913100 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_pi_secd" ))->Fill (track.eta ());
30923101 } // end if ITS
3093- } // end if TPC
3102+ } // end if TPC
30943103 // end if secondaries from decay
30953104 } else {
30963105 //
@@ -3104,9 +3113,9 @@ struct qaMatchEff {
31043113 histos.get <TH1>(HIST (" MC/PID/phihist_tpcits_pi_secm" ))->Fill (track.phi ());
31053114 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_pi_secm" ))->Fill (track.eta ());
31063115 } // end if ITS
3107- } // end if TPC
3108- } // end if secondaries from material //
3109- } // end pions only
3116+ } // end if TPC
3117+ } // end if secondaries from material //
3118+ } // end pions only
31103119 //
31113120 // no primary/sec-d pions
31123121 if (!((tpPDGCode == 211 ) && (mcpart.isPhysicalPrimary ()))) {
@@ -3130,8 +3139,8 @@ struct qaMatchEff {
31303139 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_nopi" ))->Fill (track.eta ());
31313140 histos.get <TH1>(HIST (" MC/PID/pdghist_num" ))->Fill (pdg_fill);
31323141 } // end if ITS
3133- } // end if TPC
3134- } // end if not prim/sec-d pi
3142+ } // end if TPC
3143+ } // end if not prim/sec-d pi
31353144 //
31363145 // kaons only
31373146 if (tpPDGCode == 321 ) {
@@ -3198,7 +3207,7 @@ struct qaMatchEff {
31983207 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_kaminus" ))->Fill (track.eta ());
31993208 }
32003209 } // end if ITS
3201- } // end if TPC
3210+ } // end if TPC
32023211 }
32033212 //
32043213 // pions and kaons together
@@ -3212,7 +3221,7 @@ struct qaMatchEff {
32123221 histos.get <TH1>(HIST (" MC/PID/phihist_tpcits_piK" ))->Fill (track.phi ());
32133222 histos.get <TH1>(HIST (" MC/PID/etahist_tpcits_piK" ))->Fill (track.eta ());
32143223 } // end if ITS
3215- } // end if TPC
3224+ } // end if TPC
32163225 }
32173226 }
32183227 //
0 commit comments