9 #include <dqm/modules/PhysicsObjectsMiraBelle/PhysicsObjectsMiraBelleDst2Module.h>
10 #include <analysis/dataobjects/ParticleList.h>
11 #include <analysis/variables/ContinuumSuppressionVariables.h>
12 #include <analysis/variables/TrackVariables.h>
13 #include <analysis/utility/PCmsLabTransform.h>
14 #include <analysis/variables/Variables.h>
15 #include <framework/datastore/StoreObjPtr.h>
16 #include <framework/datastore/StoreArray.h>
17 #include <mdst/dataobjects/Track.h>
18 #include <mdst/dataobjects/TrackFitResult.h>
19 #include <mdst/dataobjects/KLMCluster.h>
20 #include <mdst/dataobjects/HitPatternCDC.h>
21 #include <mdst/dataobjects/HitPatternVXD.h>
22 #include <mdst/dataobjects/EventLevelTrackingInfo.h>
23 #include <mdst/dataobjects/PIDLikelihood.h>
24 #include <top/variables/TOPDigitVariables.h>
25 #include <arich/modules/arichDQM/ARICHDQMModule.h>
26 #include <arich/dataobjects/ARICHLikelihood.h>
27 #include <mdst/dataobjects/SoftwareTriggerResult.h>
28 #include <TDirectory.h>
37 setDescription(
"Monitor Physics Objects Quality");
38 setPropertyFlags(c_ParallelProcessingCertified);
40 addParam(
"TriggerIdentifier", m_triggerIdentifier,
41 "Trigger identifier string used to select events for the histograms", std::string(
"software_trigger_cut&skim&accept_hadron"));
42 addParam(
"DstListName", m_dstListName,
"Name of the D*+ particle list", std::string(
"D*+:physMiraBelle"));
47 TDirectory* oldDir = gDirectory;
48 oldDir->mkdir(
"PhysicsObjectsMiraBelleDst2")->cd();
50 m_h_D0_pi0_InvM =
new TH1F(
"hist_D0_pi0_InvM",
"#pi^{0} mass of D^{*}#rightarrowK#pi#pi^{0};D0_pi0_InvM;", 50, 0.09, 0.17);
73 if (!result.isValid()) {
74 B2WARNING(
"SoftwareTriggerResult object not available but needed to select events for the histograms.");
78 const std::map<std::string, int>& results = result->getResults();
80 B2WARNING(
"PhysicsObjectsMiraBelleDst2: Can't find trigger identifier: " <<
m_triggerIdentifier);
86 if (accepted ==
false)
return;
91 for (
unsigned int i = 0; i < dstParticles->getListSize(); i++) {
92 const Particle* dst = dstParticles->getParticle(i);
94 float dst_mass = dst->
getMass();
95 float d0_mass = d0->getMass();
96 float delta_m = dst_mass - d0_mass;
98 if (1.83 < d0_mass && d0_mass < 1.89 && 0.142 < delta_m && delta_m < 0.148) {
99 m_h_D0_pi0_InvM->Fill(Belle2::Variable::particleInvariantMassFromDaughters(d0->getDaughter(2)));
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Class to store reconstructed particles.
float getMass() const
Returns invariant mass (= nominal for FS particles)
const Particle * getDaughter(unsigned i) const
Returns a pointer to the i-th daughter particle.
DQM modules to monitor D* related variables.
std::string m_dstListName
Name of the mu+ particle list.
void initialize() override
Initializer.
void event() override
This method is called for each event.
void endRun() override
This method is called if the current run ends.
void terminate() override
This method is called at the end of the event processing.
std::string m_triggerIdentifier
Trigger identifier string used to select events for the histograms.
void beginRun() override
Called when entering a new run.
TH1F * m_h_D0_pi0_InvM
Pi0 invariant mass for D0->Kpipi0.
void defineHisto() override
Definition of the histograms.
Type-safe access to single objects in the data store.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
@ c_accept
Accept this event.
Abstract base class for different kinds of events.