MarlinTPC  1.2.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
marlintpc::PadResponseFunctionGEM Class Reference

Functionality to evaluate the pad response function for a hit. More...

#include <PadResponseFunctionGEM.h>

Public Member Functions

 PadResponseFunctionGEM (double defocussing, double diffusion, const gear::TPCParameters &gearparameter)
 The constructor.
 
bool EvaluateHit (lcio::TrackerHit *hit, lcio::Track *track=NULL)
 returns true if a PRF correction was applied, returns false if KeepCentreOfGravityInfo was used
 
double * GetPRFPosition ()
 PRF improved position in global coordinates. PRF acts in rphi or xy not in z, so this is a 2D position in global coordinates.
 
double GetPRFCharge ()
 Hit charge given by the integral of the PRF.
 
double GetPRFChargeError ()
 Error on the hit charge.
 
bool GetPRFSucceeded ()
 Option to check if the fit failed. A way to distinguish between the reseon the PRF was not used, either because enough pads or fit failed.
 
void SetPRCOnly (int value)
 Option to check if the fit failed. A way to distinguish between the reseon the PRF was not used, either because enough pads or fit failed.
 

Protected Member Functions

void CalculateFixedWidth (lcio::TrackerHit *hit, lcio::Track *track=NULL)
 Calculate the width to be fixed for the PRF fit from information from the hit and/or track based on a parametrisation.
 
void PrepareHitData (lcio::TrackerHit *hit)
 prepare hit data, transfer info to fit object
 
void FitPRF (lcio::TrackerHit *hit, bool fixCharge=false)
 Carry out the fit.
 
void CalculatePRC (lcio::TrackerHit *hit)
 calculate only a position correction for the center of gravity based on parametrisation
 
void KeepCentreOfGravityInfo (lcio::TrackerHit *hit)
 In case a PRF is not needed we keep the information of the original hit via the centre of gravity.
 

Protected Attributes

double _defocussing
 First paramter for the parametrisation of expected width: diffusion within gem stack sigma_0^2 [mm^2].
 
double _diffusion
 Second paramter for the parametrisation of expected width: diffusion in drift region D^2 [mm].
 
double _fixedWidth
 width for the gaussian fit
 
double _position
 position of the hit along the row in global coordinates
 
double _positionRow
 position of the row of the hit in global coordinates, unaffected by PRF fit
 
double _prfpos [2]
 position to give back
 
double _positionRowLocal
 position of the row of the hit in local coordinates, unaffected by PRF fit
 
double _charge
 charge of the hit as given by the integral
 
double _chargeErr
 
bool _status
 status of prf evaluation, true if fits have worked
 
bool _fitOK
 status of prf fit
 
TGraph * _graph
 object for fitting or calculation in local coordinates
 
double _maxCharge
 max charge filled in graph
 
double _maxPos
 max position in graph
 
double _min
 range of graph
 
double _max
 
const gear::TPCParameters & _tpcParameters
 access to gear information
 
TF1 * _PRFShift
 prf parametrisation for flat region
 
TF1 * _PRF
 prf parametrisation
 
int _PRConly
 Switch to disable the fitting, just do the calculation of a correction (like in MultiFit)
 

Detailed Description

Functionality to evaluate the pad response function for a hit.

This class is for GEM data where the PRF can be described as a gaussian. Goals are to improve the position of the hit, enable the correction of dead channels and channels in overrange.

Author
A.Muennich, DESY

The documentation for this class was generated from the following files: