1 #ifndef Compute_dEdxProcessor_hh
2 #define Compute_dEdxProcessor_hh 1
8 #include <marlin/Processor.h>
9 #include <EVENT/LCCollection.h>
12 using namespace lcio ;
13 using namespace marlin ;
76 virtual void processRunHeader( LCRunHeader* run);
77 virtual void processEvent( LCEvent * evt );
78 virtual void check( LCEvent * evt );
85 std::pair<double,double> CalculateEnergyLoss(TrackerHitVec& hitVec, Track* trk);
86 double getNormalization(
double dedx,
float hit,
double trkcos);
87 double getSmearing(
double dEdx);
90 std::string _description =
"";
91 std::string _LDCTrackCollection =
"";
92 LCCollection* _LDCCol = NULL;
93 bool _writedEdx =
true;
95 float _energyLossErrorTPC = 0;
96 float _lowerTrunFrac = 0;
97 float _upperTrunFrac = 0;
99 std::vector<float> _acorrpar = {};
100 std::vector<float> _errexp = {};
102 bool _StratCompHist =
false;
103 bool _StratCompHistWeight =
false;
104 std::string _StratCompHistFiles =
"";
107 std::random_device seed_gen{};
108 std::default_random_engine *engine = NULL;
109 std::uniform_real_distribution<> dist{};
110 bool _isSmearing = 0;
111 float _smearingFactor = 0;
114 float _TPC_inner = 0;
115 float _TPC_outer = 0;
116 float _TPC_padHeight = 0;
120 TH2* _BBHist_Strategy1{};
121 TH2* _BBHist_Strategy2{};
122 TH2* _BBHist_Strategy3{};
virtual Processor * newProcessor()
Compute dE/dx Processor This processor calculates the dE/dx for every track.