"MarlinReco"  1.16.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
VTXDigitizer Class Reference

Digitizer for Simulated Hits in the Vertex Detector. More...

#include <VTXDigitizer.h>

Inheritance diagram for VTXDigitizer:

Public Member Functions

virtual Processor * newProcessor ()
 
virtual void init ()
 Initialisation member function.
 
virtual void processRunHeader (LCRunHeader *run)
 Processing of run header.
 
virtual void processEvent (LCEvent *evt)
 Processing of one event.
 
virtual void check (LCEvent *evt)
 Produces check plots.
 
virtual void end ()
 Termination member function.
 

Protected Member Functions

void FindLocalPosition (SimTrackerHit *hit, double *localPosition, double *localDirection)
 Finds coordinates.
 
void TransformToLab (double *xLoc, double *xLab)
 
void ProduceIonisationPoints (SimTrackerHit *hit)
 
void ProduceSignalPoints ()
 
void ProduceHits (SimTrackerHitImplVec &simTrkVec)
 
void TransformXYToCellID (double x, double y, int &ix, int &iy)
 
void TransformCellIDToXY (int ix, int iy, double &x, double &y)
 
void PoissonSmearer (SimTrackerHitImplVec &simTrkVec)
 
void GainSmearer (SimTrackerHitImplVec &simTrkVec)
 
void PrintInfo (SimTrackerHit *simTrkHit, TrackerHitImpl *recoHit)
 
TrackerHitImpl * ReconstructTrackerHit (SimTrackerHitImplVec &simTrkVec)
 
void TrackerHitToLab (TrackerHitImpl *recoHit)
 
void PositionWithinCell (double x, double y, int &ix, int &iy, double &xCell, double &yCell)
 
void generateBackground (LCCollectionVec *col)
 

Protected Attributes

std::string _colName
 Input collection name.
 
std::string _outputCollectionName
 
std::string _colVTXRelation
 
int _nRun
 Run number.
 
int _nEvt
 Event number.
 
double _tanLorentzAngle
 tangent of Lorentz angle
 
double _cutOnDeltaRays
 cut in MeV on delta electrons used in simulation of charge for each ionisation point
 
double _diffusionCoefficient
 Diffusion coefficient in mm for nominla layer thickness.
 
int _numberOfLayers
 layer thickness More...
 
double _pixelSizeX
 
double _pixelSizeY
 
double _electronsPerKeV
 
double _segmentDepth
 
double _currentTotalCharge
 
std::vector< int > _laddersInLayer
 
std::vector< float > _layerRadius
 
std::vector< float > _layerThickness
 
std::vector< float > _layerHalfThickness
 
std::vector< float > _layerLadderLength
 
std::vector< float > _layerLadderHalfWidth
 
std::vector< float > _layerPhiOffset
 
std::vector< float > _layerActiveSiOffset
 
std::vector< float > _layerHalfPhi
 
std::vector< float > _layerLadderGap
 
std::vector< float > _bkgdHitsInLayer
 
std::vector< float > _layerLadderWidth
 
int _currentLayer
 
int _currentModule
 
int _generateBackground
 
double _currentParticleMomentum
 
double _currentParticleEnergy
 
double _currentParticleMass
 
double _currentPhi
 
double _widthOfCluster
 
double PI
 
double TWOPI
 
double PI2
 
double SCALING
 
int _produceFullPattern
 
int _numberOfSegments
 
int _debug
 
int _PoissonSmearing
 
int _electronicEffects
 
int _useMCPMomentum
 
int _removeDrays
 
double _threshold
 
double _currentLocalPosition [3]
 
double _currentEntryPoint [3]
 
double _currentExitPoint [3]
 
double _electronicNoise
 
double _segmentLength
 
IonisationPointVec _ionisationPoints
 
SignalPointVec _signalPoints
 
MyG4UniversalFluctuationForSi_fluctuate
 
double _xLayerReco
 
double _yLayerReco
 
double _zLayerReco
 
double _xLayerSim
 
double _yLayerSim
 
double _zLayerSim
 
int _iLayer
 
int _nCoveredX
 
int _nCoveredY
 
int _nCells
 
int _totEntries
 
double _totMomentum
 
double _momX
 
double _momY
 
double _momZ
 
double _eDep
 
double _amplX [20]
 
double _amplY [20]
 
double _amplC [100]
 
double _ampl
 
double _amplMax
 
double _eSum
 
double _energyLoss
 
double _clusterWidthX
 
double _clusterWidthY
 
double _ampl33
 
double _ampl55
 
double _ampl77
 
int _ncell33
 
int _ncell55
 
int _ncell77
 
int _storeNtuple
 
double _xLocalRecoCOG
 
double _yLocalRecoCOG
 
double _xLocalRecoEdge
 
double _yLocalRecoEdge
 
double _xLocalSim
 
double _yLocalSim
 
std::vector< SimTrackerHitImplVec > _hitsInLayer
 

Detailed Description

Digitizer for Simulated Hits in the Vertex Detector.


Digitization follows the procedure adopted in the CMS software package.
For each Simulated Tracker Hit the intersection points with
the inner and outer boundaries of sensitive Si layer are calculated.
Track segment within a layer is approximated with the line.
It is divided by n subsegments, where n can be specified by a user
via external Processor parameter. For each subsegment the charge
is simulated according to Landau distribution as expected for Silicon.
The charge transfer from the middle point of track subsegment (referred
hereafter to as ionisation point)
to the outer collection plane is performed taking
into account Lorentz effect in the magnetic field
It is assumed that on the collection plane the electron cloud from
each ionisation point is spread according to the Gaussian distribution
whose width is proportional to the square-root of the drift distance.
The charge on each fired pixel is then calculated as a sum of contributions
from n Gaussians. The VTX ladder is assumed to have matrix of rectangular pixels
(In the future I plan to implement possibility of variying pixel size with
the z coordinate).
The output of the processor is the collection of Reconstructed Tracker Hits.
Each reconstructed hit is assigned the position of the center-of-gravity of
the cluster of fired pixels. Lorentz effect is corrected for.

Input collections and prerequisites

Processor requires collection of simulated vertex tracker hits.
If such a collection with the user specified name does not exist
processor takes no action.

Output

Processor produces an output collection of the Tracker Hits. Collection has name "VTXTrackerHits".

Parameters
CollectionNamename of input SimTrackerHit collection
(default parameter value : "vxd01_VXD", taken from Mokka)
TanLorentztangent of the Lorentz angle
(default parameter value : 0.8)
CutOnDeltaRayscut on the energy of delta-electrons (in MeV)
(default parameter value : 0.03)
Diffusiondiffusion coefficient for the nominal active layer thickness (in mm)
(default parameter value : 0.002)
LayerThicknessthickness of the active Silicon layer (in mm)
(default parameter value : 0.03744)
PixelSizeXpixel size along direction perpendicular to beam axis (in mm)
(default value : 0.025)
PixelSizeYpixel size along beam axis (in mm)
(default value : 0.025)
ElectronsPerMeVnumber of electrons produced per MeV of deposited energy
(default parameter value : 270.3)
Thresholdthreshold on charge deposited on one pixel (in electons)
(default parameter value : 200.0)
LaddersInLayervector of integers, numbers of phi-ladders in each layer
(default parameter values : 8, 8, 12, 16, 20; taken from Mokka database for VXD model vxd01)
LadderRadiusvector of doubles, radii of layers (in mm)
(default parameter values : 15.301, 26.301, 38.301, 49.301, 60.301; taken from Mokka database for VXD model vxd01)
ActiveLadderOffsetvector of doubles, offset of active Si layer along phi-angle (in mm) for each layer
(default parameter values : 1.455, 1.39866, 2.57163, 3.59295, 4.42245)
LadderHalfWidthvector of doubles, half-width of the ladders in each layer (in mm)
(default parameter values : 6.5, 11.0, 11.0, 11.0, 11.0; taken from Mokka database for VXD model vxd01)
LadderGapsvector of doubles, gaps between two symmetric ladders (+/-z) in mm
(default parameter values : 0.0, 0.04, 0.04, 0.04, 0.04; taken from Mokka database)
PhiOffsetvector of doubles, offset in phi angle for starting ladder in each layer
(default parameter values : 0, 0, 0, 0, 0; taken from Mokka database for VXD model vxd01)
SegmentLengthsegment length along track path which is used to subdivide track into segments (in mm). The number of track subsegments is calculated as int(TrackLengthWithinActiveLayer/SegmentLength)+1
(default parameter value : 0.005)
WidthOfClusterdefines width in Gaussian sigmas to perform charge integration for a given pixel
(default parameter value : 3.0)
ElectronicEffectsflag to switch on gaussian smearing of signal (electronic noise)
(default parameter value : 1)
ElectronicNoiseelectronic noise in electrons
(default parameter value : 100)
GenerateBackgroundflag to switch on pseudo-generation of pair background hits Background hits are uniformly generated in cosQ and Phi
(default parameter value : 0)
BackgroundHitsPerLayerexpected mean value of background hits accumulated in each layer over readout time. This number is calculated as Number of background hits per bunch crossing times number of bunch crossings over integration time.
(default values : 34400 23900 9600 5500 3100 corresponding to 100 overlaid bunch crossings)
Debugboolean variable, if set to 1, printout is activated
(default parameter value : 0)

Author
A. Raspereza, MPI Munich

Member Data Documentation

int VTXDigitizer::_numberOfLayers
protected

layer thickness

layer half-thickness


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