"MarlinReco"
1.16.0
|
====== TPCDigiProcessor ======
More...
#include <TPCDigiProcessor.h>
Public Member Functions | |
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.