Belle II Software prerelease-10-00-00a
TrackFilterModule.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 <framework/datastore/SelectSubset.h>
13
14#include <mdst/dataobjects/Track.h>
15
16#include <TFile.h>
17#include <TNtuple.h>
18
19
20namespace Belle2 {
31 class TrackFilterModule : public Module {
32
33 public:
34
39
40
42 virtual void event() override;
43
45 virtual void terminate() override;
46
48 virtual void initialize() override;
49
50 static double m_min_d0;
51 static double m_max_d0;
52 static double m_min_z0;
53 static double m_max_z0;
54 static int m_min_NumHitsPXD;
55 static int m_min_NumHitsSVD;
56 static int m_min_NumHitsCDC;
57 static double m_min_pCM;
58 static double m_min_pT;
59 static double m_min_Pval;
60
62 std::string m_rootFileName;
63 TFile* m_rootFilePtr = nullptr;
64
65 private:
66
67 std::string m_inputArrayName;
68 std::string m_outputINArrayName;
70
73
74 static bool isSelected(const Track* track);
75
76 static void fillControlNtuples(const Track* track,
77 bool isSelected);
78
79 static TNtuple* m_selectedNtpl;
80 static TNtuple* m_rejectedNtpl;
81 };
82
83}
84
85
86
Module()
Constructor.
Definition Module.cc:30
Class to create a subset of a given StoreArray together with the relations with other StoreArrays.
std::string m_rootFileName
root file name
static double m_min_z0
z0 minimum value
std::string m_outputOUTArrayName
StoreArray with the NOT selected output tracks.
SelectSubset< Track > m_selectedTracks
selected tracks
std::string m_outputINArrayName
StoreArray with the selected output tracks.
static int m_min_NumHitsCDC
minimum value of CDC hits
static TNtuple * m_selectedNtpl
tuple of selected tracks
static double m_min_Pval
minimum P-value of the track fit
virtual void initialize() override
init the module
static bool m_saveControlNtuples
if true produces a rootfile with control ntupled
virtual void event() override
processes the event
static double m_max_z0
z0 maximum value
static double m_max_d0
d0 maximum value
static bool isSelected(const Track *track)
determine if the track satisfies the selection criteria
virtual void terminate() override
terminates the module
static double m_min_pT
minimum value of the transverse momentum
SelectSubset< Track > m_notSelectedTracks
not selected tracks
static TNtuple * m_rejectedNtpl
tuple of rejected tracks
static int m_min_NumHitsSVD
minimum value of SVD hits
static void fillControlNtuples(const Track *track, bool isSelected)
determine if the track does not satisfies the selection criteria
static int m_min_NumHitsPXD
minimum value of PXD hits
TFile * m_rootFilePtr
pointer at root file used for storing ntuples
std::string m_inputArrayName
StoreArray with the input tracks.
static double m_min_d0
d0 minimum value
static double m_min_pCM
minimum value of the center of mass momentum
TrackFilterModule()
Constructor: Sets the description, the properties and the parameters of the module.
Class that bundles various TrackFitResults.
Definition Track.h:25
Abstract base class for different kinds of events.