Belle II Software prerelease-10-00-00a
V0findingPerformanceEvaluationModule.h
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#pragma once
10
11#include <framework/core/Module.h>
12#include <tracking/modules/trackingPerformanceEvaluation/PerformanceEvaluationBaseClass.h>
13#include <tracking/dataobjects/V0ValidationVertex.h>
14#include <mdst/dataobjects/MCParticle.h>
15
16#include <TH1F.h>
17#include <TH2F.h>
18#include <TH3F.h>
19
20
21// forward declarations
22namespace Belle2 {
27
35 class V0findingPerformanceEvaluationModule : public Module, PerformanceEvaluationBaseClass {
36
37 public:
38
43
48
52 void initialize() override;
53
57 void beginRun() override;
58
62 void event() override;
63
67 void endRun() override;
68
72 void terminate() override;
73
74 private:
75
76 bool isV0(const MCParticle& the_mcParticle);
77
78 int nMatchedDaughters(const MCParticle& the_mcParticle);
79
80 /* user-defined parameters */
81 std::string m_MCParticlesName;
82 std::string m_V0sName;
83
86
87 /* list of histograms filled per MCParticle found in the event */
88
89 TH1F* m_multiplicityV0s = nullptr;
90 TH1F* m_multiplicityMCParticles = nullptr;
91 TH1F* m_MCParticlePDGcode = nullptr;
92
93 //error on track parameters
94 TH1F* m_h1_vtxX_err = nullptr;
95 TH1F* m_h1_vtxY_err = nullptr;
96 TH1F* m_h1_vtxZ_err = nullptr;
97 TH2F* m_h2_vtxTvsR_err = nullptr;
98 // TH1F* m_h1_mom_err; /**< mom error*/
99 // TH1F* m_h1_mass_err; /**< mom error*/
100 //residuals on track parameters
101 TH1F* m_h1_vtxX_res = nullptr;
102 TH1F* m_h1_vtxY_res = nullptr;
103 TH1F* m_h1_vtxZ_res = nullptr;
104 TH1F* m_h1_mom_res = nullptr;
105 TH2F* m_h2_mom = nullptr;
106 TH1F* m_h1_mass_res = nullptr;
107 TH2F* m_h2_mass = nullptr;
108 //pulls on track parameters
109 TH1F* m_h1_vtxX_pll = nullptr;
110 TH1F* m_h1_vtxY_pll = nullptr;
111 TH1F* m_h1_vtxZ_pll = nullptr;
112 // TH1F* m_h1_mom_pll; /**< mom pull*/
113 // TH1F* m_h1_mass_pll; /**< mom pull*/
114
115 TH1F* m_h1_ChiSquare = nullptr;
116
117 TH1F* m_h1_nMatchedDau = nullptr;
118
119 //histograms used for efficiency plots
120 TH3F* m_h3_MCParticle = nullptr;
121 TH3F* m_h3_V0sPerMCParticle = nullptr;
122 TH1F* m_h1_MCParticle_R = nullptr;
123 TH1F* m_h1_V0sPerMCParticle_R = nullptr;
124
125 //histograms used for purity plots
126 TH3F* m_h3_V0s = nullptr;
127 TH3F* m_h3_MCParticlesPerV0 = nullptr;
128
129 };
130
131} // end of namespace
A Class to store the Monte Carlo particle information.
Definition MCParticle.h:32
Module()
Constructor.
Definition Module.cc:30
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
TH2F * m_h2_vtxTvsR_err
vtx error on transverse plane VS transverse flight length
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.
int nMatchedDaughters(const MCParticle &the_mcParticle)
number of truth matched dauhters
void beginRun() override
Called when entering a new run.
StoreArray< V0ValidationVertex > m_V0ValidationVertices
V0ValidationVertices StoreArray.
TH1F * m_multiplicityMCParticles
number of MCParticles per fitted Track
StoreArray< MCParticle > m_MCParticles
MCParticles StoreArray.
Abstract base class for different kinds of events.