|
"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.lynch@bristol.ac.uk
|
virtual |
Called at the begin of the job before anything is read.
Use to initialize the processor, e.g. book histograms.
1.8.6