@@ -97,18 +97,59 @@ const char* speciesName[kDptDptNoOfSpecies] = {"h", "e", "mu", "pi", "ka", "p"};
9797
9898const char * speciesTitle[kDptDptNoOfSpecies ] = {" " , " e" , " #mu" , " #pi" , " K" , " p" };
9999
100+ // / \enum BeforeAfter
101+ // / \brief when filling the histograms
102+ enum BeforeAfter {
103+ BeforeAfterBEFORE = 0 , // /< filling the histograms before selections
104+ BeforeAfterAFTER, // /< filling the histograms after selections
105+ BeforeAfterNOOFTIMES // /< how many times fill the histograms
106+ };
107+
108+ static const std::vector<std::string> beforeAfterName = {" before" , " " };
109+ static const std::vector<std::string> beforeAfterSufix = {" B" , " A" };
110+
111+ /* helpers for the multiplicity axes definition */
112+ #define DPTDPTCENTRALITYAXIS 105 , -0 .5f , 104 .5f
113+ #define DPTDPTMULTIPLIICTYAXIS 1001 , -0 .5f , 1000 .5f
114+ #define DPTDPTFWMULTIPLICITYAXIS 1000 , 0 .0f , 100000 .0f
115+
100116// ============================================================================================
101117// The DptDptFilter histogram objects
102118// TODO: consider registering in the histogram registry
103119// ============================================================================================
120+ /* event/collision histograms */
104121TH1D* fhEventSelection = nullptr ;
105122TH1D* fhTriggerSelection = nullptr ;
123+ TH2D* fhTriggerSelectionCorrelations = nullptr ;
106124TH1F* fhCentMultB = nullptr ;
107125TH1F* fhCentMultA = nullptr ;
108126TH1F* fhVertexZB = nullptr ;
109127TH1F* fhVertexZA = nullptr ;
110128TH1F* fhMultB = nullptr ;
111129TH1F* fhMultA = nullptr ;
130+
131+ /* multiplicty correlation histograms */
132+ /* B: before, A: after collision selection */
133+ /* credits: A. Dobrin team! */
134+ TH2F* fhMultiplicityVsCentrality[BeforeAfterNOOFTIMES] = {nullptr };
135+ TH2F* fhMultiplicityVsT0cMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
136+ TH2F* fhMultiplicityVsT0aMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
137+ TH2F* fhMultiplicityVsV0aMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
138+ TH2F* fhMultiplicityVsPvMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
139+ TH2F* fhPvMultiplicityVsCentrality[BeforeAfterNOOFTIMES] = {nullptr };
140+ TH2F* fhPvMultiplicityVsT0cMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
141+ TH2F* fhPvMultiplicityVsT0aMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
142+ TH2F* fhPvMultiplicityVsV0aMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
143+ TH2F* fhV0aMultiplicityVsCentrality[BeforeAfterNOOFTIMES] = {nullptr };
144+ TH2F* fhV0aMultiplicityVsT0cMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
145+ TH2F* fhV0aMultiplicityVsT0aMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
146+ TH2F* fhT0cMultiplicityVsCentrality[BeforeAfterNOOFTIMES] = {nullptr };
147+ TH2F* fhT0cMultiplicityVsT0aMultiplicity[BeforeAfterNOOFTIMES] = {nullptr };
148+ TH2F* fhT0CentralityVsCentrality[BeforeAfterNOOFTIMES] = {nullptr };
149+ TH2F* fhV0aCentralityVsCentrality[BeforeAfterNOOFTIMES] = {nullptr };
150+ TH2F* fhNtpvCentralityVsCentrality[BeforeAfterNOOFTIMES] = {nullptr };
151+
152+ /* track histograms */
112153TH1F* fhPB = nullptr ;
113154std::vector<TH1F*> fhPA;
114155TH1F* fhPtB = nullptr ;
@@ -138,11 +179,14 @@ TH2F* fhAmbiguousTrackPt = nullptr;
138179TH2F* fhAmbiguityDegree = nullptr ;
139180TH2F* fhCompatibleCollisionsZVtxRms = nullptr ;
140181
182+ /* MC generator level event/collision histograms */
141183TH1F* fhTrueCentMultB = nullptr ;
142184TH1F* fhTrueCentMultA = nullptr ;
143185TH1F* fhTrueVertexZB = nullptr ;
144186TH1F* fhTrueVertexZA = nullptr ;
145187TH1F* fhTrueVertexZAA = nullptr ;
188+
189+ /* MC generator level particle histograms */
146190TH1F* fhTruePB = nullptr ;
147191std::vector<TH1F*> fhTruePA;
148192TH1F* fhTruePtB = nullptr ;
@@ -344,25 +388,27 @@ struct Multiplicity {
344388
345389struct DptDptFilter {
346390 struct : ConfigurableGroup {
347- Configurable<std::string> cfgCCDBUrl{" cfgCCDBUrl" , " http://ccdb-test.cern.ch:8080" , " The CCDB url for the input file" };
348- Configurable<std::string> cfgCCDBPathName{" cfgCCDBPathName" , " " , " The CCDB path for the input file. Default \"\" , i.e. don't load from CCDB" };
349- Configurable<std::string> cfgCCDBDate{" cfgCCDBDate" , " 20220307" , " The CCDB date for the input file" };
350- Configurable<std::string> cfgCCDBPeriod{" cfgCCDBPeriod" , " LHC22o" , " The CCDB dataset period for the input file" };
391+ std::string prefix = " cfgCCDB" ;
392+ Configurable<std::string> url{" url" , " http://ccdb-test.cern.ch:8080" , " The CCDB url for the input file" };
393+ Configurable<std::string> pathName{" pathName" , " " , " The CCDB path for the input file. Default \"\" , i.e. don't load from CCDB" };
394+ Configurable<std::string> date{" date" , " 20220307" , " The CCDB date for the input file" };
395+ Configurable<std::string> period{" period" , " LHC22o" , " The CCDB dataset period for the input file" };
351396 } cfginputfile;
352397 Configurable<bool > cfgFullDerivedData{" cfgFullDerivedData" , false , " Produce the full derived data for external storage. Default false" };
353398 Configurable<std::string> cfgCentMultEstimator{" cfgCentMultEstimator" , " V0M" , " Centrality/multiplicity estimator detector: V0M,CL0,CL1,FV0A,FT0M,FT0A,FT0C,NTPV,NOCM: none. Default V0M" };
354399
355400 struct : ConfigurableGroup {
356401 std::string prefix = " cfgEventSelection" ;
402+ Configurable<bool > fillQc{" fillQc" , false , " Fill the quality control histograms. Default: false" };
357403 Configurable<int64_t > minOrbit{" minOrbit" , -1 , " Lowest orbit to track" };
358404 Configurable<int64_t > maxOrbit{" maxOrbit" , INT64_MAX, " Highest orbit to track" };
359405 Configurable<std::string> rctSource{" rctSource" , " None" , " RCT selection source: None,CBT,CBT_hadronPID,CBT_electronPID,CBT_calo,CBT_muon,CBT_muon_glo. Default: None" };
360406 struct : ConfigurableGroup {
361- std::string prefix = " cfgEventSelection.cfgOccupancySelection " ;
362- Configurable<std::string> cfgOccupancyEstimation{ " cfgOccupancyEstimation " , " None" , " Occupancy estimation: None, Tracks, FT0C. Default None" };
363- Configurable<float > cfgMinOccupancy{ " cfgMinOccupancy " , 0 .0f , " Minimum allowed occupancy. Depends on the occupancy estimation" };
364- Configurable<float > cfgMaxOccupancy{ " cfgMaxOccupancy " , 1e6f, " Maximum allowed occupancy. Depends on the occupancy estimation" };
365- } cfgOccupancySelection ;
407+ std::string prefix = " cfgEventSelection.occupancySelection " ;
408+ Configurable<std::string> occupancyEstimation{ " occupancyEstimation " , " None" , " Occupancy estimation: None, Tracks, FT0C. Default None" };
409+ Configurable<float > minOccupancy{ " minOccupancy " , 0 .0f , " Minimum allowed occupancy. Depends on the occupancy estimation" };
410+ Configurable<float > maxOccupancy{ " maxOccupancy " , 1e6f, " Maximum allowed occupancy. Depends on the occupancy estimation" };
411+ } occupancySelection ;
366412 } cfgEventSelection;
367413 Configurable<std::string> cfgSystem{" cfgSystem" , " PbPb" , " System: pp, PbPb, Pbp, pPb, XeXe, ppRun3, PbPbRun3. Default PbPb" };
368414 Configurable<std::string> cfgDataType{" cfgDataType" , " data" , " Data type: data, datanoevsel, MC, FastMC, OnTheFlyMC. Default data" };
@@ -429,9 +475,9 @@ struct DptDptFilter {
429475 }
430476
431477 /* the occupancy selection */
432- fOccupancyEstimation = getOccupancyEstimator (cfgEventSelection.cfgOccupancySelection . cfgOccupancyEstimation );
433- fMinOccupancy = cfgEventSelection.cfgOccupancySelection . cfgMinOccupancy ;
434- fMaxOccupancy = cfgEventSelection.cfgOccupancySelection . cfgMaxOccupancy ;
478+ fOccupancyEstimation = getOccupancyEstimator (cfgEventSelection.occupancySelection . occupancyEstimation );
479+ fMinOccupancy = cfgEventSelection.occupancySelection . minOccupancy ;
480+ fMaxOccupancy = cfgEventSelection.occupancySelection . maxOccupancy ;
435481
436482 /* the trigger selection */
437483 triggerSelectionFlags = getTriggerSelection (cfgTriggSel);
@@ -456,6 +502,13 @@ struct DptDptFilter {
456502 for (int ix = 0 ; ix < TriggSelNOOFTRIGGERS; ++ix) {
457503 fhTriggerSelection->GetXaxis ()->SetBinLabel (ix + 1 , TString::Format (" #color[%d]{%s}" , triggerSelectionFlags.test (ix) ? 2 : 1 , triggerSelectionExternalNamesMap.at (ix).c_str ()).Data ());
458504 }
505+ fhTriggerSelectionCorrelations = new TH2D (" TriggerSelectionCorrelations" , " ;;;counts" ,
506+ TriggSelNOOFTRIGGERS, -0 .5f , static_cast <float >(TriggSelNOOFTRIGGERS) - 0 .5f ,
507+ TriggSelNOOFTRIGGERS, -0 .5f , static_cast <float >(TriggSelNOOFTRIGGERS) - 0 .5f );
508+ for (int ixy = 0 ; ixy < TriggSelNOOFTRIGGERS; ++ixy) {
509+ fhTriggerSelectionCorrelations->GetXaxis ()->SetBinLabel (ixy + 1 , TString::Format (" #color[%d]{%s}" , triggerSelectionFlags.test (ixy) ? 2 : 1 , triggerSelectionExternalNamesMap.at (ixy).c_str ()).Data ());
510+ fhTriggerSelectionCorrelations->GetYaxis ()->SetBinLabel (ixy + 1 , TString::Format (" #color[%d]{%s}" , triggerSelectionFlags.test (ixy) ? 2 : 1 , triggerSelectionExternalNamesMap.at (ixy).c_str ()).Data ());
511+ }
459512 /* TODO: proper axes and axes titles according to the system; still incomplete */
460513 std::string multestimator = getCentMultEstimatorName (fCentMultEstimator );
461514 if (fSystem > kPbp ) {
@@ -474,15 +527,61 @@ struct DptDptFilter {
474527 fhVertexZB = new TH1F (" VertexZB" , " Vertex Z; z_{vtx}" , 60 , -15 , 15 );
475528 fhVertexZA = new TH1F (" VertexZA" , " Vertex Z; z_{vtx}" , zvtxbins, zvtxlow, zvtxup);
476529
530+ if (cfgEventSelection.fillQc ) {
531+ /* the quality control histograms */
532+ for (int i = 0 ; i < BeforeAfterNOOFTIMES; ++i) {
533+ fhMultiplicityVsCentrality[i] = new TH2F (TString::Format (" MultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLIICTYAXIS);
534+ fhMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS);
535+ fhMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS);
536+ fhMultiplicityVsV0aMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsV0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;V0A Multiplicity;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS);
537+ fhMultiplicityVsPvMultiplicity[i] = new TH2F (TString::Format (" MultiplicityVsPvMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;PV contributors;Number of tracks" , beforeAfterName[i].c_str ()).Data (), DPTDPTMULTIPLIICTYAXIS, DPTDPTMULTIPLIICTYAXIS);
538+ fhPvMultiplicityVsCentrality[i] = new TH2F (TString::Format (" PvMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTMULTIPLIICTYAXIS);
539+ fhPvMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS);
540+ fhPvMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS);
541+ fhPvMultiplicityVsV0aMultiplicity[i] = new TH2F (TString::Format (" PvMultiplicityVsV0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;V0A multiplicity;PV contributors" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTMULTIPLIICTYAXIS);
542+ fhV0aMultiplicityVsCentrality[i] = new TH2F (TString::Format (" V0aMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);V0A multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTFWMULTIPLICITYAXIS);
543+ fhV0aMultiplicityVsT0cMultiplicity[i] = new TH2F (TString::Format (" V0aMultiplicityVsT0cMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0C multiplicity;V0A multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTFWMULTIPLICITYAXIS);
544+ fhV0aMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" V0aMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;V0A multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTFWMULTIPLICITYAXIS);
545+ fhT0cMultiplicityVsCentrality[i] = new TH2F (TString::Format (" T0cMultiplicityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);T0C multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTFWMULTIPLICITYAXIS);
546+ fhT0cMultiplicityVsT0aMultiplicity[i] = new TH2F (TString::Format (" T0cMultiplicityVsT0aMultiplicity%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;T0A multiplicity;T0C multiplicity" , beforeAfterName[i].c_str ()).Data (), DPTDPTFWMULTIPLICITYAXIS, DPTDPTFWMULTIPLICITYAXIS);
547+ fhT0CentralityVsCentrality[i] = new TH2F (TString::Format (" T0CentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);T0 centrality(%%)" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
548+ fhV0aCentralityVsCentrality[i] = new TH2F (TString::Format (" V0aCentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);V0A centrality (%%)" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
549+ fhNtpvCentralityVsCentrality[i] = new TH2F (TString::Format (" NtpvCentralityVsCentrality%s" , beforeAfterSufix[i].c_str ()).Data (), TString::Format (" %s;Centrality (%%);NTPV centrality (%%)" , beforeAfterName[i].c_str ()).Data (), DPTDPTCENTRALITYAXIS, DPTDPTCENTRALITYAXIS);
550+ }
551+ }
552+
477553 /* add the hstograms to the output list */
478554 fOutputList ->Add (fhEventSelection);
479555 fOutputList ->Add (fhTriggerSelection);
556+ fOutputList ->Add (fhTriggerSelectionCorrelations);
480557 fOutputList ->Add (fhCentMultB);
481558 fOutputList ->Add (fhCentMultA);
482559 fOutputList ->Add (fhMultB);
483560 fOutputList ->Add (fhMultA);
484561 fOutputList ->Add (fhVertexZB);
485562 fOutputList ->Add (fhVertexZA);
563+ if (cfgEventSelection.fillQc ) {
564+ for (int i = 0 ; i < BeforeAfterNOOFTIMES; ++i) {
565+ /* the quality control histograms */
566+ fOutputList ->Add (fhMultiplicityVsCentrality[i]);
567+ fOutputList ->Add (fhMultiplicityVsT0cMultiplicity[i]);
568+ fOutputList ->Add (fhMultiplicityVsT0aMultiplicity[i]);
569+ fOutputList ->Add (fhMultiplicityVsV0aMultiplicity[i]);
570+ fOutputList ->Add (fhMultiplicityVsPvMultiplicity[i]);
571+ fOutputList ->Add (fhPvMultiplicityVsCentrality[i]);
572+ fOutputList ->Add (fhPvMultiplicityVsT0cMultiplicity[i]);
573+ fOutputList ->Add (fhPvMultiplicityVsT0aMultiplicity[i]);
574+ fOutputList ->Add (fhPvMultiplicityVsV0aMultiplicity[i]);
575+ fOutputList ->Add (fhV0aMultiplicityVsCentrality[i]);
576+ fOutputList ->Add (fhV0aMultiplicityVsT0cMultiplicity[i]);
577+ fOutputList ->Add (fhV0aMultiplicityVsT0aMultiplicity[i]);
578+ fOutputList ->Add (fhT0cMultiplicityVsCentrality[i]);
579+ fOutputList ->Add (fhT0cMultiplicityVsT0aMultiplicity[i]);
580+ fOutputList ->Add (fhT0CentralityVsCentrality[i]);
581+ fOutputList ->Add (fhV0aCentralityVsCentrality[i]);
582+ fOutputList ->Add (fhNtpvCentralityVsCentrality[i]);
583+ }
584+ }
486585 }
487586
488587 if ((fDataType != kData ) && (fDataType != kDataNoEvtSel )) {
@@ -613,13 +712,52 @@ void DptDptFilter::processReconstructed(CollisionObject const& collision, Tracks
613712 for (int iflag = 0 ; iflag < TriggSelNOOFTRIGGERS; ++iflag) {
614713 if (triggerFlags.test (iflag)) {
615714 fhTriggerSelection->Fill (iflag);
715+ for (int jflag = 0 ; jflag < TriggSelNOOFTRIGGERS; ++jflag) {
716+ if (triggerFlags.test (jflag)) {
717+ fhTriggerSelectionCorrelations->Fill (iflag, jflag);
718+ }
719+ }
616720 }
617721 }
618722 for (int iflag = 0 ; iflag < CollSelNOOFFLAGS; ++iflag) {
619723 if (collisionFlags.test (iflag)) {
620724 fhEventSelection->Fill (iflag);
725+ } else {
726+ if (iflag >= CollSelTRIGGSELBIT) {
727+ /* don't report not accepted events */
728+ break ;
729+ }
621730 }
622731 }
732+ /* report QC information if required */
733+ if (cfgEventSelection.fillQc ) {
734+ [&](bool accepted) {
735+ for (int i = 0 ; i < BeforeAfterNOOFTIMES; ++i) {
736+ fhMultiplicityVsCentrality[i]->Fill (centormult, ftracks.size ());
737+ fhMultiplicityVsT0cMultiplicity[i]->Fill (collision.multFT0C (), ftracks.size ());
738+ fhMultiplicityVsT0aMultiplicity[i]->Fill (collision.multFT0A (), ftracks.size ());
739+ fhMultiplicityVsV0aMultiplicity[i]->Fill (collision.multFV0A (), ftracks.size ());
740+ fhMultiplicityVsPvMultiplicity[i]->Fill (collision.multNTracksPV (), ftracks.size ());
741+ fhPvMultiplicityVsCentrality[i]->Fill (centormult, collision.multNTracksPV ());
742+ fhPvMultiplicityVsT0cMultiplicity[i]->Fill (collision.multFT0C (), collision.multNTracksPV ());
743+ fhPvMultiplicityVsT0aMultiplicity[i]->Fill (collision.multFT0A (), collision.multNTracksPV ());
744+ fhPvMultiplicityVsV0aMultiplicity[i]->Fill (collision.multFV0A (), collision.multNTracksPV ());
745+ fhV0aMultiplicityVsCentrality[i]->Fill (centormult, collision.multFV0A ());
746+ fhV0aMultiplicityVsT0cMultiplicity[i]->Fill (collision.multFT0C (), collision.multFV0A ());
747+ fhV0aMultiplicityVsT0aMultiplicity[i]->Fill (collision.multFT0A (), collision.multFV0A ());
748+ fhT0cMultiplicityVsCentrality[i]->Fill (centormult, collision.multFT0C ());
749+ fhT0cMultiplicityVsT0aMultiplicity[i]->Fill (collision.multFT0A (), collision.multFT0C ());
750+ if constexpr (framework::has_type_v<aod::cent::CentFV0A, typename CollisionObject::all_columns>) {
751+ fhT0CentralityVsCentrality[i]->Fill (centormult, collision.centFT0M ());
752+ fhV0aCentralityVsCentrality[i]->Fill (centormult, collision.centFV0A ());
753+ fhNtpvCentralityVsCentrality[i]->Fill (centormult, collision.centNTPV ());
754+ }
755+ /* if not accepted only before is filled */
756+ if (!accepted)
757+ break ;
758+ }
759+ }(acceptedevent);
760+ }
623761}
624762
625763void DptDptFilter::processWithCent (aod::CollisionEvSelCent const & collision, DptDptFullTracks const & ftracks, aod::BCsWithTimestamps const &)
@@ -863,10 +1001,10 @@ struct DptDptFilterTracks {
8631001 tpcExclude = static_cast <TpcExclusionMethod>(tmpTpcExclude);
8641002 }
8651003 /* self configure the CCDB access to the input file */
866- getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDBUrl " , cfgCCDBUrl, false );
867- getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDBPathName " , cfgCCDBPathName, false );
868- getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDBDate " , cfgCCDBDate, false );
869- getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDBPeriod " , cfgCCDBPeriod, false );
1004+ getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDB.url " , cfgCCDBUrl, false );
1005+ getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDB.pathName " , cfgCCDBPathName, false );
1006+ getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDB.date " , cfgCCDBDate, false );
1007+ getTaskOptionValue (initContext, " dpt-dpt-filter" , " cfgCCDB.period " , cfgCCDBPeriod, false );
8701008
8711009 /* create the output list which will own the task histograms */
8721010 TList* fOutputList = new TList ();
0 commit comments