 |
Belle II Software
release-05-01-25
|
11 #include <dqm/modules/PhysicsObjectsMiraBelle/PhysicsObjectsMiraBelleDst2Module.h>
12 #include <analysis/dataobjects/ParticleList.h>
13 #include <analysis/variables/ContinuumSuppressionVariables.h>
14 #include <analysis/variables/TrackVariables.h>
15 #include <analysis/utility/PCmsLabTransform.h>
16 #include <analysis/variables/Variables.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 #include <framework/datastore/StoreArray.h>
19 #include <mdst/dataobjects/Track.h>
20 #include <mdst/dataobjects/TrackFitResult.h>
21 #include <mdst/dataobjects/KLMCluster.h>
22 #include <mdst/dataobjects/HitPatternCDC.h>
23 #include <mdst/dataobjects/HitPatternVXD.h>
24 #include <mdst/dataobjects/EventLevelTrackingInfo.h>
25 #include <mdst/dataobjects/PIDLikelihood.h>
26 #include <top/variables/TOPDigitVariables.h>
27 #include <arich/modules/arichDQM/ARICHDQMModule.h>
28 #include <arich/dataobjects/ARICHLikelihood.h>
29 #include <mdst/dataobjects/SoftwareTriggerResult.h>
30 #include <TDirectory.h>
37 PhysicsObjectsMiraBelleDst2Module::PhysicsObjectsMiraBelleDst2Module() :
HistoModule()
43 "Trigger identifier string used to select events for the histograms", std::string(
"software_trigger_cut&skim&accept_hadron"));
44 addParam(
"DstListName", m_dstListName,
"Name of the D*+ particle list", std::string(
"D*+:physMiraBelle"));
49 TDirectory* oldDir = gDirectory;
50 oldDir->mkdir(
"PhysicsObjectsMiraBelleDst2")->cd();
52 m_h_D0_pi0_InvM =
new TH1F(
"hist_D0_pi0_InvM",
"#pi^{0} mass of D^{0}#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)));
std::string m_triggerIdentifier
Trigger identifier string used to select events for the histograms.
void setDescription(const std::string &description)
Sets the description of the module.
void defineHisto() override
Function to define histograms.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
void terminate() override
Function to terminate module.
TH1F * m_h_D0_pi0_InvM
Pi0 invariant mass for D0->Kpipi0.
std::string m_triggerIdentifier
Trigger identifier string used to select events for the histograms.
const Particle * getDaughter(unsigned i) const
Returns a pointer to the i-th daughter particle.
void event() override
Function to process event record.
void endRun() override
Function to process end_run record.
@ c_accept
Accept this event.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
float getMass() const
Returns invariant mass (= nominal for FS particles)
Abstract base class for different kinds of events.
Type-safe access to single objects in the data store.
void initialize() override
Function for dynamic initialization of module.
std::string m_dstListName
Name of the mu+ particle list.
Class to store reconstructed particles.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
void beginRun() override
Function to process begin_run record.
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...