Belle II Software  release-05-02-19
TrackFilterModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2016 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Giulia Casarosa *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <framework/datastore/SelectSubset.h>
15 
16 #include <mdst/dataobjects/Track.h>
17 
18 #include <TFile.h>
19 #include <TNtuple.h>
20 
21 
22 namespace Belle2 {
30  class TrackFilterModule : public Module {
31 
32  public:
33 
38 
39 
41  virtual void event() override;
42 
44  virtual void terminate() override;
45 
47  virtual void initialize() override;
48 
49  static double m_min_d0;
50  static double m_max_d0;
51  static double m_min_z0;
52  static double m_max_z0;
53  static int m_min_NumHitsPXD;
54  static int m_min_NumHitsSVD;
55  static int m_min_NumHitsCDC;
56  static double m_min_pCM;
57  static double m_min_pT;
58  static double m_min_Pval;
60  static bool m_saveControlNtuples;
61  std::string m_rootFileName;
62  TFile* m_rootFilePtr = nullptr;
64  private:
65 
66  std::string m_inputArrayName;
67  std::string m_outputINArrayName;
68  std::string m_outputOUTArrayName;
73  static bool isSelected(const Track* track);
75  static void fillControlNtuples(const Track* track,
76  bool isSelected);
78  static TNtuple* m_selectedNtpl;
79  static TNtuple* m_rejectedNtpl;
80  };
82 }
83 
84 
85 
Belle2::TrackFilterModule::terminate
virtual void terminate() override
terminates the module
Definition: TrackFilterModule.cc:114
Belle2::TrackFilterModule::m_min_Pval
static double m_min_Pval
miminum P-value of the track fit
Definition: TrackFilterModule.h:66
Belle2::TrackFilterModule::isSelected
static bool isSelected(const Track *track)
determine if the track satisfies the selection criteria
Definition: TrackFilterModule.cc:127
Belle2::TrackFilterModule::m_rejectedNtpl
static TNtuple * m_rejectedNtpl
tuple of rejected tracks
Definition: TrackFilterModule.h:87
Belle2::TrackFilterModule::TrackFilterModule
TrackFilterModule()
Constructor: Sets the description, the properties and the parameters of the module.
Definition: TrackFilterModule.cc:44
Belle2::TrackFilterModule::fillControlNtuples
static void fillControlNtuples(const Track *track, bool isSelected)
determine if the track does not satisfies the selection criteria
Definition: TrackFilterModule.cc:165
Belle2::SelectSubset
Class to create a subset of a given StoreArray together with the relations with other StoreArrays.
Definition: SelectSubset.h:203
Belle2::TrackFilterModule::m_saveControlNtuples
static bool m_saveControlNtuples
if true produces a rootfile with control ntupled
Definition: TrackFilterModule.h:68
Belle2::TrackFilterModule::m_min_pCM
static double m_min_pCM
miminum value of the center of mass momentum
Definition: TrackFilterModule.h:64
Belle2::TrackFilterModule::m_rootFilePtr
TFile * m_rootFilePtr
pointer at root file used for storing ntuples
Definition: TrackFilterModule.h:70
Belle2::TrackFilterModule::m_max_z0
static double m_max_z0
z0 maximum value
Definition: TrackFilterModule.h:60
Belle2::TrackFilterModule::m_min_NumHitsPXD
static int m_min_NumHitsPXD
miminum value of PXD hits
Definition: TrackFilterModule.h:61
Belle2::TrackFilterModule::m_selectedTracks
SelectSubset< Track > m_selectedTracks
selected tracks
Definition: TrackFilterModule.h:78
Belle2::TrackFilterModule::initialize
virtual void initialize() override
init the module
Definition: TrackFilterModule.cc:73
Belle2::TrackFilterModule::m_inputArrayName
std::string m_inputArrayName
StoreArray with the input tracks.
Definition: TrackFilterModule.h:74
Belle2::TrackFilterModule::m_min_z0
static double m_min_z0
z0 miminum value
Definition: TrackFilterModule.h:59
Belle2::TrackFilterModule::m_notSelectedTracks
SelectSubset< Track > m_notSelectedTracks
not selected tracks
Definition: TrackFilterModule.h:79
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFilterModule::event
virtual void event() override
processes the event
Definition: TrackFilterModule.cc:102
Belle2::TrackFilterModule::m_rootFileName
std::string m_rootFileName
root file name
Definition: TrackFilterModule.h:69
Belle2::TrackFilterModule::m_outputOUTArrayName
std::string m_outputOUTArrayName
StoreArray with the NOT selected output tracks.
Definition: TrackFilterModule.h:76
Belle2::TrackFilterModule::m_min_d0
static double m_min_d0
d0 miminum value
Definition: TrackFilterModule.h:57
Belle2::TrackFilterModule::m_min_NumHitsCDC
static int m_min_NumHitsCDC
miminum value of CDC hits
Definition: TrackFilterModule.h:63
Belle2::TrackFilterModule::m_min_NumHitsSVD
static int m_min_NumHitsSVD
miminum value of SVD hits
Definition: TrackFilterModule.h:62
Belle2::TrackFilterModule::m_min_pT
static double m_min_pT
miminum value of the transverse momentum
Definition: TrackFilterModule.h:65
Belle2::Track
Class that bundles various TrackFitResults.
Definition: Track.h:35
Belle2::TrackFilterModule::m_selectedNtpl
static TNtuple * m_selectedNtpl
tuple of selected tracks
Definition: TrackFilterModule.h:86
Belle2::TrackFilterModule::m_max_d0
static double m_max_d0
d0 maximum value
Definition: TrackFilterModule.h:58
Belle2::TrackFilterModule::m_outputINArrayName
std::string m_outputINArrayName
StoreArray with the selected output tracks.
Definition: TrackFilterModule.h:75