Compute dE/dx Processor
This processor calculates the dE/dx for every track.
More...
#include <Compute_dEdxProcessor.hh>
Public Member Functions | |
virtual Processor * | newProcessor () |
Compute_dEdxProcessor () | |
virtual void | init () |
virtual void | processRunHeader (LCRunHeader *run) |
virtual void | processEvent (LCEvent *evt) |
virtual void | check (LCEvent *evt) |
virtual void | end () |
Private Member Functions | |
Compute_dEdxProcessor (const Compute_dEdxProcessor &)=delete | |
Compute_dEdxProcessor & | operator= (const Compute_dEdxProcessor &)=delete |
std::pair< double, double > | CalculateEnergyLoss (TrackerHitVec &hitVec, Track *trk) |
double | getNormalization (double dedx, float hit, double trkcos) |
double | getSmearing (double dEdx) |
Private Attributes | |
std::string | _description = "" |
std::string | _LDCTrackCollection = "" |
LCCollection * | _LDCCol = NULL |
bool | _writedEdx = true |
float | _energyLossErrorTPC = 0 |
float | _lowerTrunFrac = 0 |
float | _upperTrunFrac = 0 |
float | _ncorrpar = 0 |
std::vector< float > | _acorrpar = {} |
std::vector< float > | _errexp = {} |
int | _dxStrategy = 0 |
bool | _StratCompHist = false |
bool | _StratCompHistWeight = false |
std::string | _StratCompHistFiles = "" |
std::random_device | seed_gen {} |
std::default_random_engine * | engine = NULL |
std::uniform_real_distribution | dist {} |
bool | _isSmearing = 0 |
float | _smearingFactor = 0 |
float | _TPC_inner = 0 |
float | _TPC_outer = 0 |
float | _TPC_padHeight = 0 |
float | _bField = 0 |
TH2 * | _BBHist_Strategy1 {} |
TH2 * | _BBHist_Strategy2 {} |
TH2 * | _BBHist_Strategy3 {} |
Compute dE/dx Processor
This processor calculates the dE/dx for every track.
The processor requires a collection of tracks that contains the corresponding track hits.
Every track hit that lies within the boundaries of the TPC is used.
dE is the deposited energy of the hit.
dx is the distance between the hits and can be calculated in 3 different ways.
A truncation of the hits with the lowest and highest dE7Dx values is performed.
Then the mean is calculated (truncation-mean method).
The calculated dE/dx is attached to the track.
This is only possible if the the track collection allows write access.
Bethe-Bloch histograms (root TH2D) can be generated for every dx strategy.
Both outputs are optional.
_LDCTrackCollection | - name of the input track collection default: MarlinTrkTracks |
_writedEdx | - flag indicating if calculated dE/dx should be attached to track If fully reconstructed tracks are used as input collection this can be switched off to only generate histograms. default: true |
_energyLossErrorTPC | - the dE/dx resolution default: 0.054 (5.4%) |
_lowerTrunFrac | - lower truncation fraction for truncated-mean method The hits with the lowest <_lowerTrunFrac> dE/dx values are rejected. default: 0.08 (8%; ALEPH: 8%) |
_upperTrunFrac | - upper truncation fraction for truncated-mean method The hits with the highest <_upperTrunFrac> dE/dx values are rejected. default: 0.3 (30%; ALEPH: 40%) |
_isSmearing | - flag indicating if additional smearing should be applied This compensates for a 'too good' processor outcome, compared to test beam results. default: false |
_smearingFactor | - width of the Gaussian function used for the additional smearing default: 0.035 (3.5%) |
_ncorrpar | - parameter for number-of-hits correction default: 1.468 |
_acorrpar | - parameters for angular correction default: {0.635762, -0.0573237} |
_errexp | - scaling exponents of the dE/dx error for path length and number of hits, respectively default: {-0.34, -0.45} |
_dxStrategy | - ID specifying which strategy for calculating dx should be used Strategy 1: hit-to-hit distance Strategy 2: hit-to-hit path length of projected hits (do not use at the moment) Strategy 3: path over hit row default: 1 If none of the above is chosen, the processor defaults to 1. |
_StratCompHist | - flag indicating if Bethe-Bloch histograms for each dx strategy should created. default: false |
_StratCompHistWeight | - flag indicating if Bethe-Bloch histograms (if chosen) should be filled with a sqrt(number-of-track-hits) weighting. default: false (-> weight for each track = 1) |
_StratCompHistFiles | - file names of the generated dx strategy comparison histograms (if chosen). The respective strategy number and '.png' is added. default: dEdx_Histo_Strategy (-> "dEdx_Histo_Strategy1.png", etc.) |
Definition at line 71 of file Compute_dEdxProcessor.hh.
Compute_dEdxProcessor::Compute_dEdxProcessor | ( | ) |
Definition at line 41 of file Compute_dEdxProcessor.cc.
|
privatedelete |
|
private |
Definition at line 247 of file Compute_dEdxProcessor.cc.
|
virtual |
Definition at line 206 of file Compute_dEdxProcessor.cc.
|
virtual |
Definition at line 209 of file Compute_dEdxProcessor.cc.
|
private |
Definition at line 455 of file Compute_dEdxProcessor.cc.
|
private |
Definition at line 474 of file Compute_dEdxProcessor.cc.
|
virtual |
Definition at line 123 of file Compute_dEdxProcessor.cc.
|
inlinevirtual |
Definition at line 73 of file Compute_dEdxProcessor.hh.
|
privatedelete |
|
virtual |
Definition at line 167 of file Compute_dEdxProcessor.cc.
|
virtual |
Definition at line 164 of file Compute_dEdxProcessor.cc.
|
private |
Definition at line 99 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 120 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 121 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 122 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 117 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 90 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 101 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 95 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 100 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 110 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 92 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 91 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 96 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 98 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 111 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 102 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 104 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 103 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 114 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 115 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 116 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 97 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 93 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 109 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 108 of file Compute_dEdxProcessor.hh.
|
private |
Definition at line 107 of file Compute_dEdxProcessor.hh.