Belle II Software  release-06-00-14
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 
14 #include <TH1F.h>
15 #include <TH2F.h>
16 #include <TH3F.h>
17 
18 #include <mdst/dataobjects/MCParticle.h>
19 
20 // forward declarations
21 namespace Belle2 {
35 
36  public:
37 
39 
41 
42  void initialize() override;
43 
44  void beginRun() override;
45 
46  void event() override;
47 
48  void endRun() override;
49 
50  void terminate() override;
51 
52  private:
53 
54  bool isV0(const MCParticle& the_mcParticle);
56  int nMatchedDaughters(const MCParticle& the_mcParticle);
58  /* user-defined parameters */
59  std::string m_MCParticlesName;
60  std::string m_V0sName;
62  /* list of histograms filled per MCParticle found in the event */
63 
64  TH1F* m_multiplicityV0s = nullptr;
65  TH1F* m_multiplicityMCParticles = nullptr;
66  TH1F* m_MCParticlePDGcode = nullptr;
68  //error on track parameters
69  TH1F* m_h1_vtxX_err = nullptr;
70  TH1F* m_h1_vtxY_err = nullptr;
71  TH1F* m_h1_vtxZ_err = nullptr;
72  TH2F* m_h2_vtxTvsR_err = nullptr;
73  // TH1F* m_h1_mom_err; /**< mom error*/
74  // TH1F* m_h1_mass_err; /**< mom error*/
75  //residuals on track parameters
76  TH1F* m_h1_vtxX_res = nullptr;
77  TH1F* m_h1_vtxY_res = nullptr;
78  TH1F* m_h1_vtxZ_res = nullptr;
79  TH1F* m_h1_mom_res = nullptr;
80  TH2F* m_h2_mom = nullptr;
81  TH1F* m_h1_mass_res = nullptr;
82  TH2F* m_h2_mass = nullptr;
83  //pulls on track parameters
84  TH1F* m_h1_vtxX_pll = nullptr;
85  TH1F* m_h1_vtxY_pll = nullptr;
86  TH1F* m_h1_vtxZ_pll = nullptr;
87  // TH1F* m_h1_mom_pll; /**< mom pull*/
88  // TH1F* m_h1_mass_pll; /**< mom pull*/
89 
90  TH1F* m_h1_ChiSquare = nullptr;
92  TH1F* m_h1_nMatchedDau = nullptr;
94  //histograms used for efficiency plots
95  TH3F* m_h3_MCParticle = nullptr;
96  TH3F* m_h3_V0sPerMCParticle = nullptr;
97  TH1F* m_h1_MCParticle_R = nullptr;
98  TH1F* m_h1_V0sPerMCParticle_R = nullptr;
100  //histograms used for purity plots
101  TH3F* m_h3_V0s = nullptr;
102  TH3F* m_h3_MCParticlesPerV0 = nullptr;
104  };
106 } // end of namespace
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:32
Base class for Modules.
Definition: Module.h:72
This module takes the MCParticles, the genfit Tracks, the genfit TrackCand, and the MCTrackCands inpu...
This module takes the MCParticles, the V0 candidates input and produce a root file containing various...
TH2F * m_h2_vtxTvsR_err
vtx error on transverse plane VS transverse flight length
void event() override
This method is the core of the module.
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.
TH1F * m_multiplicityMCParticles
number of MCParticles per fitted Track
Abstract base class for different kinds of events.