Belle II Software  release-05-02-19
NoKickCutsEvalModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Valerio Bertacchi *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #ifndef NOKICKCUTSEVAL_H
12 #define NOKICKCUTSEVAL_H
13 
14 #include <framework/core/Module.h>
15 #include <tracking/dataobjects/hitXP.h>
16 #include <tracking/trackFindingVXD/sectorMapTools/NoKickCuts.h>
17 #include <tracking/trackFindingVXD/sectorMapTools/NoKickRTSel.h>
18 #include <TFile.h>
19 #include <math.h>
20 
21 namespace Belle2 {
43  class NoKickCutsEvalModule : public Module {
44  public:
46 
49  void initialize() override;
50 
53  void event() override;
54 
56  void endRun() override;
57 
59  void terminate() override;
60 
62  // enum EParameters {
63  // omega,
64  // d0,
65  // phi0,
66  // z0,
67  // tanlambda
68  // };
69 
76  double deltaParEval(hitXP hit1, hitXP hit2, NoKickCuts::EParameters par, bool is0 = false);
77 
78 
84  double cutFunction(int p, double pwidth);
85 
87  // double cutFunction(int p, double pwid)
88  // {
89  // double out;
90  // double mom = p * pwid + c_pmin;
91  // out = -3.971 * pow(10, -7) / pow(mom, 3.373) + 1;
92  // return out;
93  // }
94 
95  private:
96 
97  const double c_pmin = 0.025;
98  const double c_pmax = 10.;
99  const double c_tmin = 17.*M_PI / 180.;
100  const double c_tmax = 5. / 6.*M_PI;
101  const int c_nbin = 5000;
102  const int c_nbinp = 200;
103  const int c_nbinpar = 5;
104  const int c_nbinlay = 7;
105  const int c_nbint = 3;
106  double c_pwidth = (c_pmax - c_pmin) / (double)c_nbinp;
107  double c_twidth = (c_tmax - c_tmin) / (double)c_nbint;
108  const double c_multLimit = 1;
109  const double c_over = NAN;
110  int m_pCounter = 0;
111  int m_tCounter = 0;
112  int m_globCounter = 0;
114  bool c_fitMethod;
117  TFile* m_outputFile = nullptr;
118  std::vector<double> m_histoLim;
119  std::vector<std::vector<std::vector<std::vector<std::vector<TH1F*>>>>> m_histo;
122  std::vector<TString> m_namePar = {
123  "#omega",
124  "d0",
125  "#phi0",
126  "z0",
127  "tan#lambda"
128  };
129 
131  std::vector<TString> m_unitPar = {
132  "[cm^{-1}]",
133  "[cm]",
134  "[rad]",
135  "[cm]",
136  ""
137  };
138  };
140 }
141 #endif
Belle2::NoKickCutsEvalModule::c_pmin
const double c_pmin
alternative cut function (not used, wider cuts)
Definition: NoKickCutsEvalModule.h:105
Belle2::NoKickCutsEvalModule::endRun
void endRun() override
This method is called if the current run ends.
Definition: NoKickCutsEvalModule.cc:146
Belle2::NoKickCutsEvalModule::c_nbin
const int c_nbin
number of bins of histogram of DeltaX
Definition: NoKickCutsEvalModule.h:109
Belle2::NoKickCutsEvalModule::m_trackSel
NoKickRTSel m_trackSel
auxiliary variable to use methods of NoKickRTSel
Definition: NoKickCutsEvalModule.h:124
Belle2::NoKickCutsEvalModule::c_fitMethod
bool c_fitMethod
flag to activate the fit method to evaluate the cuts
Definition: NoKickCutsEvalModule.h:122
Belle2::NoKickCutsEvalModule::terminate
void terminate() override
This method is called at the end of the event processing.
Definition: NoKickCutsEvalModule.cc:459
Belle2::NoKickCutsEvalModule::c_over
const double c_over
escape flag of some methods
Definition: NoKickCutsEvalModule.h:117
Belle2::NoKickCutsEvalModule::c_nbint
const int c_nbint
number of theta parameters
Definition: NoKickCutsEvalModule.h:113
Belle2::NoKickCutsEvalModule::c_multLimit
const double c_multLimit
multiplier of the range limit of the histograms of DeltaX
Definition: NoKickCutsEvalModule.h:116
Belle2::NoKickCutsEvalModule::deltaParEval
double deltaParEval(hitXP hit1, hitXP hit2, NoKickCuts::EParameters par, bool is0=false)
enum for the track-parameters
Definition: NoKickCutsEvalModule.cc:462
Belle2::NoKickCutsEvalModule::m_histoLim
std::vector< double > m_histoLim
limits of DeltaX histograms
Definition: NoKickCutsEvalModule.h:126
Belle2::NoKickCuts::EParameters
EParameters
enum for parameters name
Definition: NoKickCuts.h:54
Belle2::NoKickCutsEvalModule::c_pmax
const double c_pmax
maximum momentum evaluated
Definition: NoKickCutsEvalModule.h:106
Belle2::NoKickCutsEvalModule::c_validationON
bool c_validationON
flag to activate some validation plots
Definition: NoKickCutsEvalModule.h:121
Belle2::NoKickCutsEvalModule::c_twidth
double c_twidth
width of theta bin
Definition: NoKickCutsEvalModule.h:115
Belle2::NoKickCutsEvalModule::c_nbinlay
const int c_nbinlay
present IP too.
Definition: NoKickCutsEvalModule.h:112
Belle2::NoKickCutsEvalModule::initialize
void initialize() override
Initialize the Module.
Definition: NoKickCutsEvalModule.cc:46
Belle2::NoKickCutsEvalModule::c_tmax
const double c_tmax
150 degrees.
Definition: NoKickCutsEvalModule.h:108
Belle2::NoKickCutsEvalModule::m_outputFile
TFile * m_outputFile
output file of cuts
Definition: NoKickCutsEvalModule.h:125
Belle2::NoKickCutsEvalModule::m_unitPar
std::vector< TString > m_unitPar
units of tracks parameters
Definition: NoKickCutsEvalModule.h:139
Belle2::NoKickCutsEvalModule::c_pwidth
double c_pwidth
width of momentum bin
Definition: NoKickCutsEvalModule.h:114
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::NoKickCutsEvalModule::m_globCounter
int m_globCounter
counter of tracks cutted from global cuts
Definition: NoKickCutsEvalModule.h:120
Belle2::NoKickCutsEvalModule::c_nbinpar
const int c_nbinpar
number of track parameters
Definition: NoKickCutsEvalModule.h:111
Belle2::NoKickCutsEvalModule::cutFunction
double cutFunction(int p, double pwidth)
This is the funcion that select the percentage that has to be cut away from deltaPar distributions (f...
Definition: NoKickCutsEvalModule.cc:499
Belle2::NoKickCutsEvalModule::m_histo
std::vector< std::vector< std::vector< std::vector< std::vector< TH1F * > > > > > m_histo
DeltaX histograms.
Definition: NoKickCutsEvalModule.h:127
Belle2::NoKickRTSel
This class implement some methods useful for the application of cuts evaluated in NoKickCutsEval modu...
Definition: NoKickRTSel.h:43
Belle2::NoKickCutsEvalModule::m_pCounter
int m_pCounter
conter of hit out of range in momentum
Definition: NoKickCutsEvalModule.h:118
Belle2::NoKickCutsEvalModule::c_nbinp
const int c_nbinp
number of momentum bins
Definition: NoKickCutsEvalModule.h:110
Belle2::NoKickCutsEvalModule::NoKickCutsEvalModule
NoKickCutsEvalModule()
Definition: NoKickCutsEvalModule.cc:34
Belle2::NoKickCutsEvalModule::m_namePar
std::vector< TString > m_namePar
name of track parameters
Definition: NoKickCutsEvalModule.h:130
Belle2::NoKickCutsEvalModule::c_tmin
const double c_tmin
17 degrees.
Definition: NoKickCutsEvalModule.h:107
Belle2::NoKickCutsEvalModule::event
void event() override
This method is the core of the module.
Definition: NoKickCutsEvalModule.cc:101
Belle2::NoKickCutsEvalModule::m_tCounter
int m_tCounter
counter of hit out of range in theta
Definition: NoKickCutsEvalModule.h:119