"MarlinReco"
1.32.0
|
====== TPCDigiProcessor ======
More...
#include <TPCDigiProcessor.h>
Public Member Functions | |
TPCDigiProcessor (const TPCDigiProcessor &)=delete | |
TPCDigiProcessor & | operator= (const TPCDigiProcessor &)=delete |
virtual Processor * | newProcessor () |
virtual void | init () |
Called at the begin of the job before anything is read. More... | |
virtual void | processRunHeader (LCRunHeader *run) |
Called for every run. | |
virtual void | processEvent (LCEvent *evt) |
Called for every event - the working horse. | |
virtual void | check (LCEvent *evt) |
virtual void | end () |
Called after data processing for clean up. | |
void | writeVoxelToHit (Voxel_tpc *aVoxel) |
void | writeMergedVoxelsToHit (std::vector< Voxel_tpc * > *hitList) |
void | plotHelixHitResidual (MCParticle *mcp, CLHEP::Hep3Vector *thisPointRPhi) |
double | getPadPhi (CLHEP::Hep3Vector *thisPointRPhi, CLHEP::Hep3Vector *firstPointRPhi, CLHEP::Hep3Vector *middlePointRPhi, CLHEP::Hep3Vector *lastPointRPhi) |
double | getPadTheta (CLHEP::Hep3Vector *firstPointRPhi, CLHEP::Hep3Vector *middlePointRPhi, CLHEP::Hep3Vector *lastPointRPhi) |
Protected Attributes | |
std::string | _padRowHitColName {} |
Input collection name. | |
std::string | _spacePointColName {} |
std::string | _lowPtHitscolName {} |
std::string | _TPCTrackerHitsCol {} |
Output collection name. | |
std::string | _outRelColName {} |
bool | _use_raw_hits_to_store_simhit_pointer {} |
int | _rejectCellID0 {} |
float | _padWidth {} |
int | _nRun {} |
int | _nEvt {} |
EVENT::MCParticle * | _mcp {} |
EVENT::MCParticle * | _previousMCP {} |
EVENT::MCParticle * | _nextMCP {} |
EVENT::MCParticle * | _nMinus2MCP {} |
EVENT::MCParticle * | _nPlus2MCP {} |
SimTrackerHit * | _SimTHit {} |
SimTrackerHit * | _previousSimTHit {} |
SimTrackerHit * | _nextSimTHit {} |
SimTrackerHit * | _nPlus2SimHit {} |
SimTrackerHit * | _nMinus2SimHit {} |
gsl_rng * | _random {} |
bool | _dontEncodeSide {} |
float | _pointResoRPhi0 {} |
float | _pointResoPadPhi {} |
float | _diffRPhi {} |
int | _nEff {} |
float | _pointResoZ0 {} |
float | _diffZ {} |
float | _binningZ {} |
float | _binningRPhi {} |
float | _doubleHitResZ {} |
float | _doubleHitResRPhi {} |
int | _maxMerge {} |
int | _nRechits {} |
std::vector< std::vector < Voxel_tpc * > > | _tpcRowHits {} |
std::map< Voxel_tpc *, SimTrackerHit * > | _tpcHitMap {} |
std::vector< float > | _length {} |
int | lenpos {} |
LCCollectionVec * | _trkhitVec {} |
LCCollectionVec * | _relCol {} |
CellIDEncoder< TrackerHitImpl > * | _cellid_encoder {} |
int | _NSimTPCHits {} |
int | _NBackgroundSimTPCHits {} |
int | _NPhysicsSimTPCHits {} |
int | _NPhysicsAbove02GeVSimTPCHits {} |
int | _NPhysicsAbove1GeVSimTPCHits {} |
int | _NRecTPCHits {} |
int | _NLostPhysicsTPCHits {} |
int | _NLostPhysicsAbove02GeVPtTPCHits {} |
int | _NLostPhysicsAbove1GeVPtTPCHits {} |
int | _NRevomedHits {} |
====== TPCDigiProcessor ======
This Processor depends on Circle.h from MarlinUtil
Caution: This digitiser presently does not process space-point like SimTrackerHits which have been flagged with CellIDs set to the negetive row number. This must be implemented in future. Produces TPC TrackerHit collection from SimTrackerHit collection, smeared in r-phi and z. Double hits are identified but are currently not added to the collection. This may be change at a later date when criteria for their seperation is defined. The resolutions are defined in the GEAR stearing file.
Resolution in r-phi is calculated according to the formular
sigma_{point}^2 = sigma_0^2 + Cd^2/N_{eff} * L_{drift} Cd^2/N_{eff}} = 25^2/(22/sin(theta)*h/6mm) Cd = 25 ( microns / cm^(1/2) ) (this is for B=4T, h is the pad height = pad-row pitch in mm, theta is the polar angle)
At the moment resolution in z assumed to be independent of drift length.
The type of TPC TrackerHit is set to 500 via method TrackerHitImpl::setType(int type)
Processor requires collections of SimTrackerHits in TPC
Processor produces collection of digitized TrackerHits in TPC
CollectionName | The name of input SimTrackerHit collection (default name STpc01_TPC) |
RejectCellID0 | Whether or not to reject SimTrackerHits with Cell ID 0. Mokka drivers TPC00-TPC03 encoded the pad row number in the cell ID, which should always be non-zero anyway. Drivers TPC04 and TPC05 do not simulate pad rows and thus have the cell ID set to zero for all hits. You will need to set RejectCellID0 to 0 in order to use this processor with these drivers, but note that the implications for track reconstruction are not strictly defined. Mokka driver TPC06 uses a mixed approach with one hit per pad row having non-zero cell ID, extra hits having 0 cell ID. Typically, unless you use TPC04 or TPC05, you should not touch this parameter. (default value 1) |
TPCTrackerHitsCol | The name of output collection of TrackerHits (default name TPCTrackerHits) |
Changed 7/9/07 so that the const and diffusion resolution terms are taken as processor parameters rather than the gear file. The parameters _pixZ and pixRP were also changed from gear parameters to processor parameters clare .lyn ch@br isto l.ac. uk
|
virtual |
Called at the begin of the job before anything is read.
Use to initialize the processor, e.g. book histograms.