@@ -75,17 +75,29 @@ constexpr static uint32_t gkMuonFillMap = VarManager::ObjTypes::ReducedMuon | Va
7575
7676struct DqJPsiMuonCorrelations {
7777
78- // Configurables for the dilepton and dilepton cuts
78+ // Configurables for the dilepton signal region
7979 Configurable<float > fConfigDileptonLowMass {" cfgDileptonLowMass" , 2.8 , " Low mass cut for the dileptons used in analysis" };
8080 Configurable<float > fConfigDileptonHighMass {" cfgDileptonHighMass" , 3.4 , " High mass cut for the dileptons used in analysis" };
8181 Configurable<float > fConfigBackgroundLowMass {" cfgBackgroundLowMass" , 2.5 , " Low mass cut for the background used in analysis" };
8282 Configurable<float > fConfigBackgroundHighMass {" cfgBackgroundHighMass" , 3.7 , " High mass cut for the background used in analysis" };
8383
84+ // Configurables for the dilepton and associated muon cuts
85+ Configurable<float > fConfigMuonPtMin {" cfgMuonPtMin" , 1.0 , " Minimum pT cut for the associated muons" };
86+ Configurable<float > fConfigMuonPtMax {" cfgMuonPtMax" , 10.0 , " Maximum pT cut for the associated muons" };
87+ Configurable<float > fConfigMuonEtaMin {" cfgMuonEtaMin" , -4.0 , " Minimum eta cut for the associated muons" };
88+ Configurable<float > fConfigMuonEtaMax {" cfgMuonEtaMax" , -2.5 , " Maximum eta cut for the associated muons" };
89+ Configurable<float > fConfigDileptonEtaMin {" cfgDileptonEtaMin" , -4.0 , " Minimum eta cut for the dileptons" };
90+ Configurable<float > fConfigDileptonEtaMax {" cfgDileptonEtaMax" , -2.5 , " Maximum eta cut for the dileptons" };
91+
92+ // Configurables for histograms
8493 ConfigurableAxis axisPt{" axisPt" , {VARIABLE_WIDTH , 1 .0f , 2 .0f , 3 .0f , 4 .0f , 5 .0f , 6 .0f , 7 .0f , 8 .0f , 10 .0f , 12 .0f , 14 .0f , 16 .0f , 18 .0f , 20 .0f }, " p_{T} (GeV/c)" };
8594 ConfigurableAxis axisInvMass{" axisInvMass" , {80 , 1 .0f , 5 .0f }, " Invariant Mass (GeV/c^{2})" };
8695 ConfigurableAxis axisDeltaPhi{" axisDeltaPhi" , {10 , -constants::math::PI /2 .0f , 3 .0f *constants::math::PI /2 .0f }, " #Delta#phi (rad)" };
8796 ConfigurableAxis axisDeltaEta{" axisDeltaEta" , {10 , -2 .0f , 2 .0f }, " #Delta#eta" };
8897
98+ // Configurable for acceptance efficiency correction
99+ Configurable<std::vector<double >> fConfigBinEff {" cfgBinEff" , std::vector<double >{1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f , 1 .0f }, " acceptance efficiency correction factors for each pT bin" };
100+
89101 // Connect to ccdb
90102 Service<ccdb::BasicCCDBManager> ccdb;
91103 Configurable<int64_t > nolaterthan{" ccdb-no-later-than" , std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now ().time_since_epoch ()).count (), " latest acceptable timestamp of creation for the object" };
@@ -120,6 +132,11 @@ struct DqJPsiMuonCorrelations {
120132 registry.add (" h2dDimuonMuonDeltaPhiVsMuonPtSignal" , " h2dDimuonMuonDeltaPhiVsMuonPtSignal" , kTH2D , {axisDeltaPhi, axisPt});
121133 registry.add (" h2dDimuonMuonDeltaEtaVsMuonPtBackground" , " h2dDimuonMuonDeltaEtaVsMuonPtBackground" , kTH2D , {axisDeltaEta, axisPt});
122134 registry.add (" h2dDimuonMuonDeltaPhiVsMuonPtBackground" , " h2dDimuonMuonDeltaPhiVsMuonPtBackground" , kTH2D , {axisDeltaPhi, axisPt});
135+
136+ if (axisPt.value .size ()-2 != fConfigBinEff .value .size ()) {
137+ LOGF (fatal, " Configurables axisPt: %zu must have one more value than fConfigBinEff: %zu (excluding 'VARIABLE_WIDTH' entry)" ,
138+ axisPt.value .size ()-1 , fConfigBinEff .value .size ());
139+ }
123140 }
124141
125142 // Template function to run pair - muon combinations
0 commit comments