Belle II Software development
PhysicsObjectsMiraBelleDstModule.cc
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#include <dqm/modules/PhysicsObjectsMiraBelle/PhysicsObjectsMiraBelleDstModule.h>
10#include <analysis/dataobjects/ParticleList.h>
11#include <framework/datastore/StoreObjPtr.h>
12#include <mdst/dataobjects/PIDLikelihood.h>
13#include <mdst/dataobjects/SoftwareTriggerResult.h>
14#include <TDirectory.h>
15#include <map>
16
17using namespace Belle2;
18
19REG_MODULE(PhysicsObjectsMiraBelleDst);
20
22{
23 setDescription("Monitor Physics Objects Quality");
25
26 addParam("TriggerIdentifier", m_triggerIdentifier,
27 "Trigger identifier string used to select events for the histograms", std::string("software_trigger_cut&skim&accept_hadron"));
28 addParam("DstListName", m_dstListName, "Name of the D*+ particle list", std::string("D*+:physMiraBelle"));
29}
30
32{
33 TDirectory* oldDir = gDirectory;
34 oldDir->mkdir("PhysicsObjectsMiraBelleDst");
35 oldDir->cd("PhysicsObjectsMiraBelleDst");
36
37 // Mass distributions
38 m_h_D0_InvM = new TH1F("hist_D0_InvM", "Signal enhanced;m_h_D0_InvM;", 50, 1.81, 1.95);
39 m_h_delta_m = new TH1F("hist_delta_m", "Signal enhanced;delta_m;", 50, 0.14, 0.16);
40 // Soft pion
41 m_h_D0_softpi_PID_ALL_pion = new TH1F("hist_D0_softpi_PID_ALL_pion", "D0_softpi_PID_ALL_pion;D0_softpi_PID_ALL_pion;", 50, 0, 1);
42 m_h_D0_softpi_PID_SVD_pion = new TH1F("hist_D0_softpi_PID_SVD_pion", "D0_softpi_PID_SVD_pion;D0_softpi_PID_SVD_pion;", 50, 0, 1);
43 m_h_D0_softpi_PID_CDC_pion = new TH1F("hist_D0_softpi_PID_CDC_pion", "D0_softpi_PID_CDC_pion;D0_softpi_PID_CDC_pion;", 50, 0, 1);
44 m_h_D0_softpi_PID_TOP_pion = new TH1F("hist_D0_softpi_PID_TOP_pion", "D0_softpi_PID_TOP_pion;D0_softpi_PID_TOP_pion;", 50, 0, 1);
45 m_h_D0_softpi_PID_ARICH_pion = new TH1F("hist_D0_softpi_PID_ARICH_pion", "D0_softpi_PID_ARICH_pion;D0_softpi_PID_ARICH_pion;", 50,
46 0,
47 1);
48 m_h_D0_softpi_PID_ECL_pion = new TH1F("hist_D0_softpi_PID_ECL_pion", "D0_softpi_PID_ECL_pion;D0_softpi_PID_ECL_pion;", 50, 0, 1);
49 m_h_D0_softpi_PID_KLM_pion = new TH1F("hist_D0_softpi_PID_KLM_pion", "D0_softpi_PID_KLM_pion;D0_softpi_PID_KLM_pion;", 50, 0, 1);
50 m_h_sideband_D0_softpi_PID_ALL_pion = new TH1F("hist_sideband_D0_softpi_PID_ALL_pion",
51 "D0_softpi_PID_ALL_pion;D0_softpi_PID_ALL_pion;", 50, 0, 1);
52 m_h_sideband_D0_softpi_PID_SVD_pion = new TH1F("hist_sideband_D0_softpi_PID_SVD_pion",
53 "D0_softpi_PID_SVD_pion;D0_softpi_PID_SVD_pion;", 50, 0, 1);
54 m_h_sideband_D0_softpi_PID_CDC_pion = new TH1F("hist_sideband_D0_softpi_PID_CDC_pion",
55 "D0_softpi_PID_CDC_pion;D0_softpi_PID_CDC_pion;", 50, 0, 1);
56 m_h_sideband_D0_softpi_PID_TOP_pion = new TH1F("hist_sideband_D0_softpi_PID_TOP_pion",
57 "D0_softpi_PID_TOP_pion;D0_softpi_PID_TOP_pion;", 50, 0, 1);
58 m_h_sideband_D0_softpi_PID_ARICH_pion = new TH1F("hist_sideband_D0_softpi_PID_ARICH_pion",
59 "D0_softpi_PID_ARICH_pion;D0_softpi_PID_ARICH_pion;", 50, 0, 1);
60 m_h_sideband_D0_softpi_PID_ECL_pion = new TH1F("hist_sideband_D0_softpi_PID_ECL_pion",
61 "D0_softpi_PID_ECL_pion;D0_softpi_PID_ECL_pion;", 50, 0, 1);
62 m_h_sideband_D0_softpi_PID_KLM_pion = new TH1F("hist_sideband_D0_softpi_PID_KLM_pion",
63 "D0_softpi_PID_KLM_pion;D0_softpi_PID_KLM_pion;", 50, 0, 1);
64 // pi from D0
65 m_h_D0_pi_PID_ALL_pion = new TH1F("hist_D0_pi_PID_ALL_pion", "D0_pi_PID_ALL_pion;D0_pi_PID_ALL_pion;", 50, 0, 1);
66 m_h_D0_pi_PID_SVD_pion = new TH1F("hist_D0_pi_PID_SVD_pion", "D0_pi_PID_SVD_pion;D0_pi_PID_SVD_pion;", 50, 0, 1);
67 m_h_D0_pi_PID_CDC_pion = new TH1F("hist_D0_pi_PID_CDC_pion", "D0_pi_PID_CDC_pion;D0_pi_PID_CDC_pion;", 50, 0, 1);
68 m_h_D0_pi_PID_TOP_pion = new TH1F("hist_D0_pi_PID_TOP_pion", "D0_pi_PID_TOP_pion;D0_pi_PID_TOP_pion;", 50, 0, 1);
69 m_h_D0_pi_PID_ARICH_pion = new TH1F("hist_D0_pi_PID_ARICH_pion", "D0_pi_PID_ARICH_pion;D0_pi_PID_ARICH_pion;", 50, 0, 1);
70 m_h_D0_pi_PID_ECL_pion = new TH1F("hist_D0_pi_PID_ECL_pion", "D0_pi_PID_ECL_pion;D0_pi_PID_ECL_pion;", 50, 0, 1);
71 m_h_D0_pi_PID_KLM_pion = new TH1F("hist_D0_pi_PID_KLM_pion", "D0_pi_PID_KLM_pion;D0_pi_PID_KLM_pion;", 50, 0, 1);
72 m_h_sideband_D0_pi_PID_ALL_pion = new TH1F("hist_sideband_D0_pi_PID_ALL_pion", "D0_pi_PID_ALL_pion;D0_pi_PID_ALL_pion;", 50, 0, 1);
73 m_h_sideband_D0_pi_PID_SVD_pion = new TH1F("hist_sideband_D0_pi_PID_SVD_pion", "D0_pi_PID_SVD_pion;D0_pi_PID_SVD_pion;", 50, 0, 1);
74 m_h_sideband_D0_pi_PID_CDC_pion = new TH1F("hist_sideband_D0_pi_PID_CDC_pion", "D0_pi_PID_CDC_pion;D0_pi_PID_CDC_pion;", 50, 0, 1);
75 m_h_sideband_D0_pi_PID_TOP_pion = new TH1F("hist_sideband_D0_pi_PID_TOP_pion", "D0_pi_PID_TOP_pion;D0_pi_PID_TOP_pion;", 50, 0, 1);
76 m_h_sideband_D0_pi_PID_ARICH_pion = new TH1F("hist_sideband_D0_pi_PID_ARICH_pion", "D0_pi_PID_ARICH_pion;D0_pi_PID_ARICH_pion;", 50,
77 0, 1);
78 m_h_sideband_D0_pi_PID_ECL_pion = new TH1F("hist_sideband_D0_pi_PID_ECL_pion", "D0_pi_PID_ECL_pion;D0_pi_PID_ECL_pion;", 50, 0, 1);
79 m_h_sideband_D0_pi_PID_KLM_pion = new TH1F("hist_sideband_D0_pi_PID_KLM_pion", "D0_pi_PID_KLM_pion;D0_pi_PID_KLM_pion;", 50, 0, 1);
80 // K from D0
81 m_h_D0_K_PID_ALL_kaon = new TH1F("hist_D0_K_PID_ALL_kaon", "D0_K_PID_ALL_kaon;D0_K_PID_ALL_kaon;", 50, 0, 1);
82 m_h_D0_K_PID_SVD_kaon = new TH1F("hist_D0_K_PID_SVD_kaon", "D0_K_PID_SVD_kaon;D0_K_PID_SVD_kaon;", 50, 0, 1);
83 m_h_D0_K_PID_CDC_kaon = new TH1F("hist_D0_K_PID_CDC_kaon", "D0_K_PID_CDC_kaon;D0_K_PID_CDC_kaon;", 50, 0, 1);
84 m_h_D0_K_PID_TOP_kaon = new TH1F("hist_D0_K_PID_TOP_kaon", "D0_K_PID_TOP_kaon;D0_K_PID_TOP_kaon;", 50, 0, 1);
85 m_h_D0_K_PID_ARICH_kaon = new TH1F("hist_D0_K_PID_ARICH_kaon", "D0_K_PID_ARICH_kaon;D0_K_PID_ARICH_kaon;", 50, 0, 1);
86 m_h_D0_K_PID_ECL_kaon = new TH1F("hist_D0_K_PID_ECL_kaon", "D0_K_PID_ECL_kaon;D0_K_PID_ECL_kaon;", 50, 0, 1);
87 m_h_D0_K_PID_KLM_kaon = new TH1F("hist_D0_K_PID_KLM_kaon", "D0_K_PID_KLM_kaon;D0_K_PID_KLM_kaon;", 50, 0, 1);
88 m_h_sideband_D0_K_PID_ALL_kaon = new TH1F("hist_sideband_D0_K_PID_ALL_kaon", "D0_K_PID_ALL_kaon;D0_K_PID_ALL_kaon;", 50, 0, 1);
89 m_h_sideband_D0_K_PID_SVD_kaon = new TH1F("hist_sideband_D0_K_PID_SVD_kaon", "D0_K_PID_SVD_kaon;D0_K_PID_SVD_kaon;", 50, 0, 1);
90 m_h_sideband_D0_K_PID_CDC_kaon = new TH1F("hist_sideband_D0_K_PID_CDC_kaon", "D0_K_PID_CDC_kaon;D0_K_PID_CDC_kaon;", 50, 0, 1);
91 m_h_sideband_D0_K_PID_TOP_kaon = new TH1F("hist_sideband_D0_K_PID_TOP_kaon", "D0_K_PID_TOP_kaon;D0_K_PID_TOP_kaon;", 50, 0, 1);
92 m_h_sideband_D0_K_PID_ARICH_kaon = new TH1F("hist_sideband_D0_K_PID_ARICH_kaon", "D0_K_PID_ARICH_kaon;D0_K_PID_ARICH_kaon;", 50, 0,
93 1);
94 m_h_sideband_D0_K_PID_ECL_kaon = new TH1F("hist_sideband_D0_K_PID_ECL_kaon", "D0_K_PID_ECL_kaon;D0_K_PID_ECL_kaon;", 50, 0, 1);
95 m_h_sideband_D0_K_PID_KLM_kaon = new TH1F("hist_sideband_D0_K_PID_KLM_kaon", "D0_K_PID_KLM_kaon;D0_K_PID_KLM_kaon;", 50, 0, 1);
96
97 oldDir->cd();
98}
99
100
102{
103 REG_HISTOGRAM
104
106 result.isOptional();
107}
108
110{
111 m_h_D0_InvM->Reset();
112 m_h_delta_m->Reset();
120 m_h_D0_pi_PID_ALL_pion->Reset();
121 m_h_D0_pi_PID_SVD_pion->Reset();
122 m_h_D0_pi_PID_CDC_pion->Reset();
123 m_h_D0_pi_PID_TOP_pion->Reset();
125 m_h_D0_pi_PID_ECL_pion->Reset();
126 m_h_D0_pi_PID_KLM_pion->Reset();
127 m_h_D0_K_PID_ALL_kaon->Reset();
128 m_h_D0_K_PID_SVD_kaon->Reset();
129 m_h_D0_K_PID_CDC_kaon->Reset();
130 m_h_D0_K_PID_TOP_kaon->Reset();
132 m_h_D0_K_PID_ECL_kaon->Reset();
133 m_h_D0_K_PID_KLM_kaon->Reset();
155}
156
158{
159
161 if (!result.isValid()) {
162 B2WARNING("SoftwareTriggerResult object not available but needed to select events for the histograms.");
163 return;
164 }
165
166 const std::map<std::string, int>& results = result->getResults();
167 if (results.find(m_triggerIdentifier) == results.end()) {
168 B2WARNING("PhysicsObjectsMiraBelleDst: Can't find trigger identifier: " << m_triggerIdentifier);
169 return;
170 }
171
172 // apply software trigger
173 const bool accepted = (result->getResult(m_triggerIdentifier) == SoftwareTriggerCutResult::c_accept);
174 if (accepted == false) return;
175
176 // get D* candidates
178
179 for (unsigned int i = 0; i < dstParticles->getListSize(); i++) {
180 const Particle* dst = dstParticles->getParticle(i);
181 const Particle* d0 = dst->getDaughter(0);
182 float dst_mass = dst->getMass();
183 float d0_mass = d0->getMass();
184 float delta_m = dst_mass - d0_mass;
185 if (delta_m < 0.14 || 0.16 < delta_m || d0_mass < 1.81 || 1.95 < d0_mass) continue;
186 // True if the event is in signal region
187 bool isSignal_D0_InvM(false), isSignal_delta_m(false);
188 // D0 and D*+ mass
189 if (0.143 < delta_m && delta_m < 0.147) {
190 m_h_D0_InvM->Fill(d0_mass);
191 isSignal_D0_InvM = true;
192 }
193 if (1.83 < d0_mass && d0_mass < 1.89) {
194 m_h_delta_m->Fill(delta_m);
195 isSignal_delta_m = true;
196 }
197 const PIDLikelihood* pid_K = d0->getDaughter(0)->getPIDLikelihood();
198 const PIDLikelihood* pid_Pi = d0->getDaughter(1)->getPIDLikelihood();
199 const PIDLikelihood* pid_softPi = dst->getDaughter(1)->getPIDLikelihood();
200
201 if (pid_K != NULL && pid_Pi != NULL && pid_softPi != NULL) {
202 if (isSignal_D0_InvM && isSignal_delta_m) {
203 // Signal region
204 // PID of K
207 1., Const::SVD));
209 1., Const::CDC));
211 1., Const::TOP));
213 1., Const::ARICH));
215 1., Const::ECL));
217 1., Const::KLM));
218 // PID of pi
220 if (pid_Pi->isAvailable(Const::SVD)) m_h_D0_pi_PID_SVD_pion ->Fill(pid_Pi->getProbability(Belle2::Const::pion,
221 Belle2::Const::kaon, 1., Const::SVD));
222 if (pid_Pi->isAvailable(Const::CDC)) m_h_D0_pi_PID_CDC_pion ->Fill(pid_Pi->getProbability(Belle2::Const::pion,
223 Belle2::Const::kaon, 1., Const::CDC));
224 if (pid_Pi->isAvailable(Const::TOP)) m_h_D0_pi_PID_TOP_pion ->Fill(pid_Pi->getProbability(Belle2::Const::pion,
225 Belle2::Const::kaon, 1., Const::TOP));
226 if (pid_Pi->isAvailable(Const::ARICH)) m_h_D0_pi_PID_ARICH_pion ->Fill(pid_Pi->getProbability(Belle2::Const::pion,
227 Belle2::Const::kaon, 1., Const::ARICH));
228 if (pid_Pi->isAvailable(Const::ECL)) m_h_D0_pi_PID_ECL_pion ->Fill(pid_Pi->getProbability(Belle2::Const::pion,
229 Belle2::Const::kaon, 1., Const::ECL));
230 if (pid_Pi->isAvailable(Const::KLM)) m_h_D0_pi_PID_KLM_pion ->Fill(pid_Pi->getProbability(Belle2::Const::pion,
231 Belle2::Const::kaon, 1., Const::KLM));
232 // PID of soft pi
234 if (pid_softPi->isAvailable(Const::SVD)) m_h_D0_softpi_PID_SVD_pion ->Fill(pid_softPi->getProbability(Belle2::Const::pion,
235 Belle2::Const::kaon, 1., Const::SVD));
236 if (pid_softPi->isAvailable(Const::CDC)) m_h_D0_softpi_PID_CDC_pion ->Fill(pid_softPi->getProbability(Belle2::Const::pion,
237 Belle2::Const::kaon, 1., Const::CDC));
238 if (pid_softPi->isAvailable(Const::TOP)) m_h_D0_softpi_PID_TOP_pion ->Fill(pid_softPi->getProbability(Belle2::Const::pion,
239 Belle2::Const::kaon, 1., Const::TOP));
240 if (pid_softPi->isAvailable(Const::ARICH)) m_h_D0_softpi_PID_ARICH_pion ->Fill(pid_softPi->getProbability(Belle2::Const::pion,
241 Belle2::Const::kaon, 1., Const::ARICH));
242 if (pid_softPi->isAvailable(Const::ECL)) m_h_D0_softpi_PID_ECL_pion ->Fill(pid_softPi->getProbability(Belle2::Const::pion,
243 Belle2::Const::kaon, 1., Const::ECL));
244 if (pid_softPi->isAvailable(Const::KLM)) m_h_D0_softpi_PID_KLM_pion ->Fill(pid_softPi->getProbability(Belle2::Const::pion,
245 Belle2::Const::kaon, 1., Const::KLM));
246 } else {
247 // Sideband region for BG subtraction
248 // PID of K
251 Belle2::Const::pion, 1., Const::SVD));
253 Belle2::Const::pion, 1., Const::CDC));
255 Belle2::Const::pion, 1., Const::TOP));
257 Belle2::Const::pion, 1., Const::ARICH));
259 Belle2::Const::pion, 1., Const::ECL));
261 Belle2::Const::pion, 1., Const::KLM));
262 // PID of pi
265 Belle2::Const::kaon, 1., Const::SVD));
267 Belle2::Const::kaon, 1., Const::CDC));
269 Belle2::Const::kaon, 1., Const::TOP));
271 Belle2::Const::kaon, 1., Const::ARICH));
273 Belle2::Const::kaon, 1., Const::ECL));
275 Belle2::Const::kaon, 1., Const::KLM));
276 // PID of soft pi
278 if (pid_softPi->isAvailable(Const::SVD)) m_h_sideband_D0_softpi_PID_SVD_pion ->Fill(pid_softPi->getProbability(
279 Belle2::Const::pion, Belle2::Const::kaon, 1., Const::SVD));
280 if (pid_softPi->isAvailable(Const::CDC)) m_h_sideband_D0_softpi_PID_CDC_pion ->Fill(pid_softPi->getProbability(
281 Belle2::Const::pion, Belle2::Const::kaon, 1., Const::CDC));
282 if (pid_softPi->isAvailable(Const::TOP)) m_h_sideband_D0_softpi_PID_TOP_pion ->Fill(pid_softPi->getProbability(
283 Belle2::Const::pion, Belle2::Const::kaon, 1., Const::TOP));
284 if (pid_softPi->isAvailable(Const::ARICH)) m_h_sideband_D0_softpi_PID_ARICH_pion ->Fill(pid_softPi->getProbability(
285 Belle2::Const::pion, Belle2::Const::kaon, 1., Const::ARICH));
286 if (pid_softPi->isAvailable(Const::ECL)) m_h_sideband_D0_softpi_PID_ECL_pion ->Fill(pid_softPi->getProbability(
287 Belle2::Const::pion, Belle2::Const::kaon, 1., Const::ECL));
288 if (pid_softPi->isAvailable(Const::KLM)) m_h_sideband_D0_softpi_PID_KLM_pion ->Fill(pid_softPi->getProbability(
289 Belle2::Const::pion, Belle2::Const::kaon, 1., Const::KLM));
290 }
291 }
292 }
293}
294
295// void PhysicsObjectsMiraBelleDstModule::getPIDInformationMiraBelle(Particle* part, float pid[3][7])
296// {
297// PIDLikelihood* I_like_coffee = part->getPIDLikelihood();
298// pid[0][0] = I_like_coffee->getProbability();
299// }
300
302{
303}
304
306{
307}
308
static const ChargedStable pion
charged pion particle
Definition: Const.h:661
static const ChargedStable kaon
charged kaon particle
Definition: Const.h:662
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Definition: HistoModule.h:29
void setDescription(const std::string &description)
Sets the description of the module.
Definition: Module.cc:214
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
Definition: Module.cc:208
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
Definition: Module.h:80
Class to collect log likelihoods from TOP, ARICH, dEdx, ECL and KLM aimed for output to mdst includes...
Definition: PIDLikelihood.h:29
bool isAvailable(Const::PIDDetectorSet set=Const::PIDDetectorSet::set()) const
Check whether PID information is available for at least one of the detectors in a given set.
double getProbability(const Const::ChargedStable &p1, const Const::ChargedStable &p2, Const::PIDDetectorSet set=Const::PIDDetectorSet::set()) const
Return combined likelihood probability for a particle being p1 and not p2, assuming equal prior proba...
Class to store reconstructed particles.
Definition: Particle.h:76
const PIDLikelihood * getPIDLikelihood() const
Returns the pointer to the PIDLikelihood object that is related to the Track, which was used to creat...
Definition: Particle.cc:947
const Particle * getDaughter(unsigned i) const
Returns a pointer to the i-th daughter particle.
Definition: Particle.cc:662
double getMass() const
Returns invariant mass (= nominal for FS particles)
Definition: Particle.h:527
TH1F * m_h_sideband_D0_pi_PID_CDC_pion
PID of CDC for pion in sideband.
TH1F * m_h_D0_softpi_PID_ARICH_pion
PID of ARICH for soft pion.
TH1F * m_h_sideband_D0_pi_PID_KLM_pion
PID of KLM for pion in sideband.
TH1F * m_h_sideband_D0_K_PID_ARICH_kaon
PID of ARICH for kaon in sideband.
TH1F * m_h_sideband_D0_softpi_PID_KLM_pion
PID of KLM for soft pion in sideband.
TH1F * m_h_D0_softpi_PID_KLM_pion
PID of KLM for soft pion.
std::string m_dstListName
Name of the mu+ particle list.
TH1F * m_h_sideband_D0_pi_PID_SVD_pion
PID of SVD for pion in sideband.
TH1F * m_h_sideband_D0_K_PID_KLM_kaon
PID of KLM for kaon in sideband.
TH1F * m_h_sideband_D0_softpi_PID_ARICH_pion
PID of ARICH for soft pion in sideband.
TH1F * m_h_D0_softpi_PID_TOP_pion
PID of TOP for soft pion.
TH1F * m_h_sideband_D0_K_PID_SVD_kaon
PID of SVD for kaon in sideband.
void event() override
This method is called for each event.
void endRun() override
This method is called if the current run ends.
TH1F * m_h_sideband_D0_softpi_PID_SVD_pion
PID of SVD for soft pion in sideband.
void terminate() override
This method is called at the end of the event processing.
TH1F * m_h_sideband_D0_K_PID_TOP_kaon
PID of TOP for kaon in sideband.
TH1F * m_h_sideband_D0_pi_PID_TOP_pion
PID of TOP for pion in sideband.
std::string m_triggerIdentifier
Trigger identifier string used to select events for the histograms.
TH1F * m_h_sideband_D0_softpi_PID_ECL_pion
PID of ECL for soft pion in sideband.
TH1F * m_h_delta_m
Mass difference b/w D*+ and D0.
TH1F * m_h_D0_softpi_PID_ECL_pion
PID of ECL for soft pion.
TH1F * m_h_sideband_D0_softpi_PID_ALL_pion
PID of all detectors for soft pion in sideband.
TH1F * m_h_sideband_D0_pi_PID_ALL_pion
PID of all detectors for pion in sideband.
TH1F * m_h_D0_softpi_PID_ALL_pion
PID of all detectors for soft pion.
TH1F * m_h_D0_softpi_PID_SVD_pion
PID of SVD for soft pion.
void beginRun() override
Called when entering a new run.
TH1F * m_h_sideband_D0_K_PID_ECL_kaon
PID of ECL for kaon in sideband.
TH1F * m_h_sideband_D0_pi_PID_ARICH_pion
PID of ARICH for pion in sideband.
TH1F * m_h_D0_softpi_PID_CDC_pion
PID of CDC for soft pion.
TH1F * m_h_sideband_D0_K_PID_ALL_kaon
PID of all detectors for kaon in sideband.
TH1F * m_h_sideband_D0_softpi_PID_TOP_pion
PID of TOP for soft pion in sideband.
TH1F * m_h_sideband_D0_pi_PID_ECL_pion
PID of ECL for pion in sideband.
TH1F * m_h_sideband_D0_K_PID_CDC_kaon
PID of CDC for kaon in sideband.
TH1F * m_h_sideband_D0_softpi_PID_CDC_pion
PID of CDC for soft pion in sideband.
TH1F * m_h_D0_K_PID_ALL_kaon
PID of all detectors for kaon.
void defineHisto() override
Definition of the histograms.
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:95
void addParam(const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
Definition: Module.h:559
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:649
@ c_accept
Accept this event.
Abstract base class for different kinds of events.