@@ -40,9 +40,11 @@ struct f0980analysis {
4040 " Minimum transverse momentum for charged track" };
4141 Configurable<float > cfgMaxEta{" cfgMaxEta" , 0.8 ,
4242 " Maximum pseudorapidiy for charged track" };
43+ Configurable<float > cfgMinDCArToPVcut{" cfgMinDCArToPVcut" , -0.5 ,
44+ " Minimum transverse DCA" };
4345 Configurable<float > cfgMaxDCArToPVcut{" cfgMaxDCArToPVcut" , 0.5 ,
4446 " Maximum transverse DCA" };
45- Configurable<float > cfgMinDCAzToPVcut{" cfgMinDCAzToPVcut" , 0 .0 ,
47+ Configurable<float > cfgMinDCAzToPVcut{" cfgMinDCAzToPVcut" , - 2 .0 ,
4648 " Minimum longitudinal DCA" };
4749 Configurable<float > cfgMaxDCAzToPVcut{" cfgMaxDCAzToPVcut" , 2.0 ,
4850 " Maximum longitudinal DCA" };
@@ -70,14 +72,17 @@ struct f0980analysis {
7072 Configurable<bool > cfgPVContributor{
7173 " cfgPVContributor" , true ,
7274 " PV contributor track selection" }; // PV Contriuibutor
75+ Configurable<bool > cfgUseTOF{
76+ " cfgUseTOF" , false ,
77+ " Flag for the usage of TOF for PID" };
7378
7479 void init (o2::framework::InitContext&)
7580 {
7681 std::vector<double > ptBinning = {0.0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.8 ,
7782 1.0 , 1.5 , 2.0 , 2.5 , 3.0 , 3.5 , 4.0 , 4.5 ,
7883 5.0 , 6.0 , 7.0 , 8.0 , 10.0 , 13.0 , 20.0 };
7984
80- AxisSpec centAxis = {20 , 0 , 100 };
85+ AxisSpec centAxis = {22 , 0 , 110 };
8186 AxisSpec ptAxis = {ptBinning};
8287 AxisSpec massAxis = {400 , 0.2 , 2.2 };
8388 AxisSpec epAxis = {20 , -constants::math::PI , constants::math::PI };
@@ -96,6 +101,8 @@ struct f0980analysis {
96101 histos.add (" QA/Nsigma_TOF" , " " , {HistType::kTH2F , {pTqaAxis, PIDqaAxis}});
97102 histos.add (" QA/TPC_TOF" , " " , {HistType::kTH2F , {PIDqaAxis, PIDqaAxis}});
98103
104+ AxisSpec NTracksAxis = {10 , 0 , 10 };
105+
99106 if (doprocessMCLight) {
100107 histos.add (" MCL/hpT_f0980_GEN" , " generated f0 signals" , HistType::kTH1F ,
101108 {pTqaAxis});
@@ -115,7 +122,7 @@ struct f0980analysis {
115122 return false ;
116123 if (std::fabs (track.eta ()) > cfgMaxEta)
117124 return false ;
118- if (track.dcaXY () > cfgMaxDCArToPVcut)
125+ if (track.dcaXY () < cfgMinDCArToPVcut || track. dcaXY () > cfgMaxDCArToPVcut)
119126 return false ;
120127 if (track.dcaZ () < cfgMinDCAzToPVcut || track.dcaZ () > cfgMaxDCAzToPVcut)
121128 return false ;
@@ -133,7 +140,8 @@ struct f0980analysis {
133140 bool SelPion (const TrackType track)
134141 {
135142 if ((track.tofPIDselectionFlag () & aod::resodaughter::kHasTOF ) !=
136- aod::resodaughter::kHasTOF ) {
143+ aod::resodaughter::kHasTOF ||
144+ !cfgUseTOF) {
137145 if (std::fabs (track.tpcNSigmaPi ()) > cfgMaxTPCStandalone) {
138146 return false ;
139147 }
@@ -216,9 +224,12 @@ struct f0980analysis {
216224
217225 void processMCTrue (aod::ResoMCParents& resoParents)
218226 {
227+
219228 for (auto & part : resoParents) { // loop over all pre-filtered MC particles
220229 if (abs (part.pdgCode ()) != 9010221 )
221230 continue ;
231+ if (!part.producedByGenerator ())
232+ continue ;
222233 if (part.y () < cfgMinRap || part.y () > cfgMaxRap) {
223234 continue ;
224235 }
0 commit comments