Belle II Software  release-05-01-25
TrgEclTimingCalibration.h
1 #ifndef TRGECLTCALIBRATION_h
2 #define TRGECLTCALIBRATION_h
3 
4 
5 #include <iostream>
6 #include <fstream>
7 #include <vector>
8 
9 #include "TMatrixD.h"
10 #include "TVectorD.h"
11 #include "TVector3.h"
12 
13 #include <framework/core/Module.h>
14 #include <trg/ecl/TrgEclMapping.h>
15 
16 #include "trg/ecl/dataobjects/TRGECLHit.h"
17 #include "trg/ecl/dataobjects/TRGECLTrg.h"
18 #include "trg/ecl/dataobjects/TRGECLCluster.h"
19 #include "trg/ecl/dataobjects/TRGECLUnpackerStore.h"
20 #include "trg/ecl/dataobjects/TRGECLUnpackerEvtStore.h"
21 
22 #include <framework/datastore/StoreObjPtr.h>
23 #include <framework/datastore/StoreArray.h>
24 
25 
26 namespace Belle2 {
31  class TRGECLTimingCalModule : public Module {
33 
34  public:
38  virtual ~TRGECLTimingCalModule();
39 
40  public:
42  virtual void initialize() override;
44  virtual void beginRun() override;
46  virtual void event() override;
48  virtual void endRun() override;
50  virtual void terminate() override;
51 
53  void Set_TCposition();
54 
56  int Solve_Matrix();
57 
59  int ReadData();
60 
62  int FillMatrix();
63 
65  void InitParams();
66 
68  void Save_Result();
69 
71  void Calculate_Chisq();
72 
74  void TRGECLTimingCalClear();
75 
77  void GetTimeOffset();
78  private:
79 
80  /***** Calibration *****/
84  int fCalType;
95 
101  int cut_ntc;
103  int TC_ref;
104 
106  int nevt_selected = 0;
108  int nevt_read = 0;
112  double cut_chisq;
113 
115  std::string str_default_name = "TCTimeOffset.root";
117  std::string str_ofilename;
119  std::string str_timeoffset_fname;
120 
123  std::vector<int> TCId;
125  std::vector<double> TCEnergy;
127  std::vector<double> TCTiming;
129  std::vector<TVector3> TCPosition;
130 
133  TMatrixDSym _Matrix;
135  std::vector<std::vector<double>> Chisq1;
137  std::vector<std::vector<double>> Chisq2;
139  std::vector<std::vector<double>> Chisq3;
140 
142  std::vector<int> Nevent_TC;
144  std::vector<double> chisq_result;
146  TVectorD _Vector;
148  std::vector<bool> b_Inc_TC;
150  std::vector<bool> b_Exclude_TC;
152  std::vector<double> tcal_result;
154  std::vector<double> tcal_result_err;
155 
158 
161  std::vector<double> TimeOffset;
162 
163  };
165 }
166 #endif
Belle2::TRGECLTimingCalModule::Chisq2
std::vector< std::vector< double > > Chisq2
chisq component2
Definition: TrgEclTimingCalibration.h:137
Belle2::TRGECLTimingCalModule::fInclude_BR
int fInclude_BR
Flag include barrel 0 : exclude BR 1 : include BR.
Definition: TrgEclTimingCalibration.h:90
Belle2::TRGECLTimingCalModule::fCalType
int fCalType
Calibration type 0 : beam 1 : cosmic.
Definition: TrgEclTimingCalibration.h:84
Belle2::TRGECLTimingCalModule::beginRun
virtual void beginRun() override
Begin Run function.
Definition: TrgEclTimingCalibration.cc:108
Belle2::TRGECLTimingCalModule::chisq_result
std::vector< double > chisq_result
Chisq values based on time offset obtained from "Solve_Matrix" function.
Definition: TrgEclTimingCalibration.h:144
Belle2::TRGECLTimingCalModule::initialize
virtual void initialize() override
initialize function
Definition: TrgEclTimingCalibration.cc:83
Belle2::TRGECLTimingCalModule::cut_chisq
double cut_chisq
TC chisq cut (iteration mode)
Definition: TrgEclTimingCalibration.h:112
Belle2::TRGECLTimingCalModule::Solve_Matrix
int Solve_Matrix()
Solve matrix.
Definition: TrgEclTimingCalibration.cc:253
Belle2::TRGECLTimingCalModule::cut_ntc
int cut_ntc
The number of TC cut.
Definition: TrgEclTimingCalibration.h:101
Belle2::TRGECLTimingCalModule::Save_Result
void Save_Result()
Save time offset and chisq as a root file.
Definition: TrgEclTimingCalibration.cc:392
Belle2::TRGECLTimingCalModule::InitParams
void InitParams()
Parameters initialization.
Definition: TrgEclTimingCalibration.cc:331
Belle2::TRGECLTimingCalModule::b_Inc_TC
std::vector< bool > b_Inc_TC
Flag TC included.
Definition: TrgEclTimingCalibration.h:148
Belle2::TRGECLTimingCalModule::Nevent_TC
std::vector< int > Nevent_TC
The number of uesed TC hit (TC by TC)
Definition: TrgEclTimingCalibration.h:142
Belle2::TRGECLTimingCalModule::fInclude_FWD
int fInclude_FWD
Flag include forward endcap 0 : exclude FWD 1 : include FWD.
Definition: TrgEclTimingCalibration.h:88
Belle2::TRGECLTimingCalModule::TimeOffset
std::vector< double > TimeOffset
Time offset Input time offset (iteration mode)
Definition: TrgEclTimingCalibration.h:161
Belle2::TRGECLTimingCalModule::tcal_result
std::vector< double > tcal_result
Time offset calibration result.
Definition: TrgEclTimingCalibration.h:152
Belle2::TRGECLTimingCalModule::str_default_name
std::string str_default_name
Default output root file name.
Definition: TrgEclTimingCalibration.h:115
Belle2::TRGECLTimingCalModule::cut_low_energy
double cut_low_energy
TC energy cut lower limit.
Definition: TrgEclTimingCalibration.h:99
Belle2::TRGECLTimingCalModule::fInclude_BWD
int fInclude_BWD
Flag include backward endcap 0 : exclude BWD 1 : include BWD.
Definition: TrgEclTimingCalibration.h:92
Belle2::TRGECLTimingCalModule::TC_ref
int TC_ref
Reference TC whose time offset set to be 0.
Definition: TrgEclTimingCalibration.h:103
Belle2::TRGECLTimingCalModule::cut_high_energy
double cut_high_energy
TC energy cut upper limit.
Definition: TrgEclTimingCalibration.h:97
Belle2::TRGECLTimingCalModule::event
virtual void event() override
Event function.
Definition: TrgEclTimingCalibration.cc:128
Belle2::TRGECLTimingCalModule::f3Dbhabha_veto
int f3Dbhabha_veto
Flag 3D bhabha veto 0 : not use 1 : use.
Definition: TrgEclTimingCalibration.h:86
Belle2::TRGECLTimingCalModule::Chisq1
std::vector< std::vector< double > > Chisq1
chisq component1
Definition: TrgEclTimingCalibration.h:135
Belle2::TRGECLTimingCalModule::_Vector
TVectorD _Vector
Vector component.
Definition: TrgEclTimingCalibration.h:146
Belle2::TRGECLTimingCalModule::TCTiming
std::vector< double > TCTiming
TC time.
Definition: TrgEclTimingCalibration.h:127
Belle2::TRGECLTimingCalModule::Chisq3
std::vector< std::vector< double > > Chisq3
chisq component3
Definition: TrgEclTimingCalibration.h:139
Belle2::TRGECLTimingCalModule::TRGECLTimingCalClear
void TRGECLTimingCalClear()
Clear vector every event.
Definition: TrgEclTimingCalibration.cc:439
Belle2::TRGECLTimingCalModule::fSimulation
int fSimulation
Flag simulation 0 : real data 1 : simulation data.
Definition: TrgEclTimingCalibration.h:82
Belle2::TRGECLTimingCalModule::GetTimeOffset
void GetTimeOffset()
Get previous time offsets (iteration mode)
Definition: TrgEclTimingCalibration.cc:468
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGECLTimingCalModule::TCPosition
std::vector< TVector3 > TCPosition
TC position from TRGECLMap (cosmic calibration)
Definition: TrgEclTimingCalibration.h:129
Belle2::TRGECLTimingCalModule::TCEnergyCalibrationConstant
double TCEnergyCalibrationConstant
ADC to GeV energy conversion factor.
Definition: TrgEclTimingCalibration.h:110
Belle2::TRGECLTimingCalModule::FlagMatrixSolved
int FlagMatrixSolved
Flag matrix solved (0 : not solved 1 : solved)
Definition: TrgEclTimingCalibration.h:157
Belle2::TRGECLTimingCalModule::endRun
virtual void endRun() override
End Run function.
Definition: TrgEclTimingCalibration.cc:112
Belle2::TRGECLTimingCalModule::fIteration
int fIteration
Flag iteration 0 : first calbiration 1 : iteration.
Definition: TrgEclTimingCalibration.h:94
Belle2::TRGECLTimingCalModule::_Matrix
TMatrixDSym _Matrix
Matrix Marix component.
Definition: TrgEclTimingCalibration.h:133
Belle2::TRGECLTimingCalModule::TRGECLTimingCalModule
TRGECLTimingCalModule()
Constructor.
Definition: TrgEclTimingCalibration.cc:26
Belle2::TRGECLTimingCalModule::str_timeoffset_fname
std::string str_timeoffset_fname
Input time offset file name (iteration mode)
Definition: TrgEclTimingCalibration.h:119
Belle2::TRGECLTimingCalModule::terminate
virtual void terminate() override
Terminate function.
Definition: TrgEclTimingCalibration.cc:116
Belle2::TRGECLTimingCalModule::Set_TCposition
void Set_TCposition()
Set TC position from TRGECLMap.
Definition: TrgEclTimingCalibration.cc:322
Belle2::TRGECLTimingCalModule::nevt_selected
int nevt_selected
The number of selected events.
Definition: TrgEclTimingCalibration.h:106
Belle2::TRGECLTimingCalModule::FillMatrix
int FillMatrix()
Fill matrix and vector components.
Definition: TrgEclTimingCalibration.cc:187
Belle2::TRGECLTimingCalModule::TCId
std::vector< int > TCId
Trigger Cell TCID.
Definition: TrgEclTimingCalibration.h:123
Belle2::TRGECLTimingCalModule::str_ofilename
std::string str_ofilename
Output root file name.
Definition: TrgEclTimingCalibration.h:117
Belle2::TRGECLTimingCalModule::Calculate_Chisq
void Calculate_Chisq()
Calculate chisq based on time offset obtained from "Solve_Matrix" function.
Definition: TrgEclTimingCalibration.cc:447
Belle2::TRGECLTimingCalModule::b_Exclude_TC
std::vector< bool > b_Exclude_TC
Flag TC excluded.
Definition: TrgEclTimingCalibration.h:150
Belle2::TRGECLTimingCalModule::nevt_read
int nevt_read
The number of read events.
Definition: TrgEclTimingCalibration.h:108
Belle2::TRGECLTimingCalModule::ReadData
int ReadData()
Fill data from.
Definition: TrgEclTimingCalibration.cc:158
Belle2::TRGECLTimingCalModule::tcal_result_err
std::vector< double > tcal_result_err
Time offset error.
Definition: TrgEclTimingCalibration.h:154
Belle2::TRGECLTimingCalModule::TCEnergy
std::vector< double > TCEnergy
TC energy.
Definition: TrgEclTimingCalibration.h:125
Belle2::TRGECLTimingCalModule::~TRGECLTimingCalModule
virtual ~TRGECLTimingCalModule()
Destructor.
Definition: TrgEclTimingCalibration.cc:79