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>
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");
49 oldDir->cd(
"PhysicsObjectsMiraBelleDst2");
52 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);
75 if (!result.isValid()) {
76 B2WARNING(
"SoftwareTriggerResult object not available but needed to select events for the histograms.");
80 const std::map<std::string, int>& results = result->getResults();
82 B2WARNING(
"PhysicsObjectsMiraBelleDst2: Can't find trigger identifier: " <<
m_triggerIdentifier);
88 if (accepted ==
false)
return;
93 for (
unsigned int i = 0; i < dstParticles->getListSize(); i++) {
94 const Particle* dst = dstParticles->getParticle(i);
96 float dst_mass = dst->
getMass();
97 float d0_mass = d0->getMass();
98 float delta_m = dst_mass - d0_mass;
100 if (1.83 < d0_mass && d0_mass < 1.89 && 0.142 < delta_m && delta_m < 0.148) {
101 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...
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
Class to store reconstructed particles.
const Particle * getDaughter(unsigned i) const
Returns a pointer to the i-th daughter particle.
double getMass() const
Returns invariant mass (= nominal for FS particles)
std::string m_dstListName
Name of the mu+ particle list.
void initialize() override
Initializer.
void event() override
This method is called for each event.
PhysicsObjectsMiraBelleDst2Module()
Constructor.
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.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#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.