CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
FP420DigiMain Class Reference

#include <FP420DigiMain.h>

Public Types

typedef float Amplitude
 
typedef DConverterFP420::DigitalMapType DigitalMapType
 
typedef std::map< int, float, std::less< int > > hit_map_type
 
typedef PileUpFP420::HitToDigisMapType HitToDigisMapType
 

Public Member Functions

 FP420DigiMain (const edm::ParameterSet &conf)
 
std::vector< HDigiFP420run (const std::vector< PSimHit > &input, const G4ThreeVector &, unsigned int)
 
 ~FP420DigiMain ()
 

Private Member Functions

void fluctuateEloss (int particleId, float momentum, float eloss, float length, int NumberOfSegments, float elossVector[])
 
void push_digis (const DigitalMapType &, const HitToDigisMapType &, const PileUpFP420::signal_map_type &)
 

Private Attributes

std::vector< short int > adcVec
 
bool addNoisyPixels
 
double appliedVoltage
 
double chargeDistributionRMS
 
double chargeMobility
 
float ClusterWidth
 
edm::ParameterSet conf_
 
double depletionVoltage
 
std::vector< HDigiFP420digis
 
bool doMissCalibrate
 
float elossCut
 
float ENC
 
LandauFP420 fluctuate
 
double ldrift
 
double ldriftX
 
double ldriftY
 
float moduleThickness
 
int ndigis
 
bool noDiffusion
 
bool noNoise
 
int NumberOfSegments
 
int numStrips
 
int numStripsW
 
int numStripsX
 
int numStripsXW
 
int numStripsY
 
int numStripsYW
 
double pitch
 
double pitchW
 
double pitchX
 
double pitchXW
 
double pitchY
 
double pitchYW
 
float Sigma0
 
std::vector< const PSimHit * > ss
 
double temperature
 
int theAdcFullScale
 
bool theApplyTofCut
 
CDividerFP420theCDividerFP420
 
ChargeDrifterFP420theCDrifterFP420
 
DigiConverterFP420theDConverterFP420
 
float theElectronPerADC
 
float theGainSmearing
 
GaussNoiseFP420theGNoiseFP420
 
HitDigitizerFP420theHitDigitizerFP420
 
float theNoiseInElectrons
 
GaussNoiseProducerFP420theNoiser
 
float theOffsetSmearing
 
PileUpFP420thePileUpFP420
 
int theStripsInChip
 
float theStripThreshold
 
float theStripThresholdInE
 
float theThreshold
 
double thez420
 
double thezD2
 
double thezD3
 
ZeroSuppressFP420theZSuppressFP420
 
float Thick300
 
double tMax
 
double tofCut
 
int verbosity
 
int xytype
 

Detailed Description

Definition at line 30 of file FP420DigiMain.h.

Member Typedef Documentation

◆ Amplitude

typedef float FP420DigiMain::Amplitude

Definition at line 34 of file FP420DigiMain.h.

◆ DigitalMapType

Definition at line 36 of file FP420DigiMain.h.

◆ hit_map_type

typedef std::map<int, float, std::less<int> > FP420DigiMain::hit_map_type

Definition at line 33 of file FP420DigiMain.h.

◆ HitToDigisMapType

Definition at line 37 of file FP420DigiMain.h.

Constructor & Destructor Documentation

◆ FP420DigiMain()

FP420DigiMain::FP420DigiMain ( const edm::ParameterSet conf)

Definition at line 29 of file FP420DigiMain.cc.

29  : conf_(conf) {
30  edm::LogInfo("SimRomanPotSimFP420") << "Creating a FP420DigiMain";
31  ndigis = 0;
32  verbosity = conf_.getUntrackedParameter<int>("VerbosityLevel");
33  theElectronPerADC = conf_.getParameter<double>("ElectronFP420PerAdc");
34  theThreshold = conf_.getParameter<double>("AdcFP420Threshold");
35  noNoise = conf_.getParameter<bool>("NoFP420Noise");
36  addNoisyPixels = conf_.getParameter<bool>("AddNoisyPixels");
37  thez420 = conf_.getParameter<double>("z420");
38  thezD2 = conf_.getParameter<double>("zD2");
39  thezD3 = conf_.getParameter<double>("zD3");
40  theApplyTofCut = conf_.getParameter<bool>("ApplyTofCut");
41  tofCut = conf_.getParameter<double>("LowtofCutAndTo200ns");
42  // sn0 = 3;// number of stations
43  // pn0 = 6;// number of superplanes
44  // rn0 = 3; // number of sensors in superlayer
45  xytype = 2;
46 
47  edm::LogInfo("SimRomanPotSimFP420") << "theApplyTofCut=" << theApplyTofCut << " tofCut=" << tofCut << "\n"
48  << "FP420DigiMain theElectronPerADC=" << theElectronPerADC
49  << " theThreshold=" << theThreshold << " noNoise=" << noNoise;
50 
51  // X (or Y)define type of sensor (xytype=1 or 2 used to derive it: 1-Y, 2-X)
52  // for every type there is normal pixel size=0.05 and Wide 0.400 mm
53  Thick300 = 0.300; // = 0.300 mm normalized to 300micron Silicon
54  // ENC= 2160.; // EquivalentNoiseCharge300um = 2160. +
55  // other sources of noise
56  ENC = 960.; // EquivalentNoiseCharge300um = 2160. + other sources of
57  // noise
58 
59  ldriftX = 0.050; // in mm(xytype=1)
60  ldriftY = 0.050; // in mm(xytype=2)
61  moduleThickness = 0.250; // mm(xytype=1)(xytype=2)
62 
63  pitchY = 0.050; // in mm(xytype=1)
64  pitchX = 0.050; // in mm(xytype=2)
65  // numStripsY = 200; // Y plate number of strips:200*0.050=10mm
66  // (xytype=1) numStripsX = 400; // X plate number of
67  // strips:400*0.050=20mm (xytype=2)
68  numStripsY = 144; // Y plate number of strips:144*0.050=7.2mm (xytype=1)
69  numStripsX = 160; // X plate number of strips:160*0.050=8.0mm (xytype=2)
70 
71  pitchYW = 0.400; // in mm(xytype=1)
72  pitchXW = 0.400; // in mm(xytype=2)
73  // numStripsYW = 50; // Y plate number of W strips:50 *0.400=20mm
74  // (xytype=1) - W have ortogonal projection numStripsXW = 25; // X
75  // plate number of W strips:25 *0.400=10mm (xytype=2) - W have ortogonal
76  // projection
77  numStripsYW = 20; // Y plate number of W strips:20 *0.400=8.0mm (xytype=1) - W
78  // have ortogonal projection
79  numStripsXW = 18; // X plate number of W strips:18 *0.400=7.2mm (xytype=2) - W
80  // have ortogonal projection
81 
82  // tofCut = 1350.; // Cut on the particle TOF range = 1380 - 1500
83  elossCut = 0.00003; // Cut on the particle TOF = 100 or 50
84 
85  edm::LogInfo("SimRomanPotSimFP420") << "FP420DigiMain moduleThickness=" << moduleThickness;
86 
87  float noiseRMS = ENC * moduleThickness / Thick300;
88 
90  // Y:
91  if (xytype == 1) {
92  numStrips = numStripsY; // Y plate number of strips:200*0.050=10mm -->
93  // 100*0.100=10mm
94  pitch = pitchY;
95  ldrift = ldriftX; // because drift is in local coordinates which 90 degree
96  // rotated ( for correct timeNormalization & noiseRMS
97  // calculations)
98  numStripsW = numStripsYW; // Y plate number of strips:200*0.050=10mm -->
99  // 100*0.100=10mm
100  pitchW = pitchYW;
101  }
102  // X:
103  if (xytype == 2) {
104  numStrips = numStripsX; // X plate number of strips:400*0.050=20mm -->
105  // 200*0.100=20mm
106  pitch = pitchX;
107  ldrift = ldriftY; // because drift is in local coordinates which 90 degree
108  // rotated ( for correct timeNormalization & noiseRMS
109  // calculations)
110  numStripsW = numStripsXW; // X plate number of strips:400*0.050=20mm -->
111  // 200*0.100=20mm
112  pitchW = pitchXW;
113  }
114 
117  int numPixels = numStrips * numStripsW;
120  thePileUpFP420 = new PileUpFP420();
122 
123  edm::LogInfo("SimRomanPotSimFP420") << "FP420DigiMain end of constructor";
124 }

References addNoisyPixels, conf_, elossCut, ENC, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), ldrift, ldriftX, ldriftY, moduleThickness, ndigis, noNoise, numStrips, numStripsW, numStripsX, numStripsXW, numStripsY, numStripsYW, pitch, pitchW, pitchX, pitchXW, pitchY, pitchYW, theApplyTofCut, theDConverterFP420, theElectronPerADC, theGNoiseFP420, theHitDigitizerFP420, thePileUpFP420, theThreshold, thez420, thezD2, thezD3, theZSuppressFP420, Thick300, tofCut, verbosity, and xytype.

◆ ~FP420DigiMain()

FP420DigiMain::~FP420DigiMain ( )

Definition at line 126 of file FP420DigiMain.cc.

126  {
127  delete theGNoiseFP420;
128  delete theZSuppressFP420;
129  delete theHitDigitizerFP420;
130  delete thePileUpFP420;
131  delete theDConverterFP420;
132 }

References theDConverterFP420, theGNoiseFP420, theHitDigitizerFP420, thePileUpFP420, and theZSuppressFP420.

Member Function Documentation

◆ fluctuateEloss()

void FP420DigiMain::fluctuateEloss ( int  particleId,
float  momentum,
float  eloss,
float  length,
int  NumberOfSegments,
float  elossVector[] 
)
private

◆ push_digis()

void FP420DigiMain::push_digis ( const DigitalMapType dm,
const HitToDigisMapType htd,
const PileUpFP420::signal_map_type afterNoise 
)
private

Definition at line 212 of file FP420DigiMain.cc.

214  {
215  //
216  if (verbosity > 0) {
217  std::cout << " ****FP420DigiMain: push_digis start: do for loop dm.size()=" << dm.size() << std::endl;
218  }
219 
220  digis.reserve(50);
221  digis.clear();
222  // link_coll.clear();
223  for (DigitalMapType::const_iterator i = dm.begin(); i != dm.end(); i++) {
224  // Load digis
225  // push to digis the content of first and second words of HDigiFP420 vector
226  // for every strip pointer (*i)
227  digis.push_back(HDigiFP420((*i).first, (*i).second));
228  ndigis++;
229  // very useful check:
230  if (verbosity > 0) {
231  std::cout << " ****FP420DigiMain:push_digis: ndigis = " << ndigis << std::endl;
232  std::cout << "push_digis: strip = " << (*i).first << " adc = " << (*i).second << std::endl;
233  }
234  }
235 
237 
238  // reworked to access the fraction of amplitude per simhit
239 
240  for (HitToDigisMapType::const_iterator mi = htd.begin(); mi != htd.end(); mi++) {
241  //
242  if (dm.find((*mi).first) != dm.end()) {
243  // --- For each channel, sum up the signals from a simtrack
244  //
245  map<const PSimHit *, Amplitude> totalAmplitudePerSimHit;
246  for (std::vector<std::pair<const PSimHit *, Amplitude>>::const_iterator simul = (*mi).second.begin();
247  simul != (*mi).second.end();
248  simul++) {
249  totalAmplitudePerSimHit[(*simul).first] += (*simul).second;
250  }
251  /*
252  //--- include the noise as well
253 
254  PileUpFP420::signal_map_type& temp1 =
255  const_cast<PileUpFP420::signal_map_type&>(afterNoise); float
256  totalAmplitude1 = temp1[(*mi).first];
257 
258  //--- digisimlink
259  for (std::map<const PSimHit *, Amplitude>::const_iterator iter =
260  totalAmplitudePerSimHit.begin(); iter != totalAmplitudePerSimHit.end();
261  iter++){
262 
263  float threshold = 0.;
264  if (totalAmplitudePerSimHit[(*iter).first]/totalAmplitude1 >= threshold) {
265  float fraction = totalAmplitudePerSimHit[(*iter).first]/totalAmplitude1;
266 
267  //Noise fluctuation could make fraction>1. Unphysical, set it by hand.
268  if(fraction >1.) fraction = 1.;
269 
270  link_coll.push_back(StripDigiSimLink( (*mi).first, //channel
271  ((*iter).first)->trackId(), //simhit
272  fraction)); //fraction
273  }//if
274  }//for
275  */
276  //
277  } // if
278  } // for
279 }

References gather_cfg::cout, digis, symbols::dm, mps_fire::i, ndigis, trackerHitRTTI::vector, and verbosity.

Referenced by run().

◆ run()

vector< HDigiFP420 > FP420DigiMain::run ( const std::vector< PSimHit > &  input,
const G4ThreeVector &  bfield,
unsigned int  iu 
)

Definition at line 137 of file FP420DigiMain.cc.

137  {
139  bool first = true;
140 
141  // main loop
142  //
143  // First: loop on the SimHits
144  //
145  std::vector<PSimHit>::const_iterator simHitIter = input.begin();
146  std::vector<PSimHit>::const_iterator simHitIterEnd = input.end();
147  for (; simHitIter != simHitIterEnd; ++simHitIter) {
148  const PSimHit ihit = *simHitIter;
149 
150  if (first) {
151  // detID = ihit.detUnitId();
152  first = false;
153  }
154 
155  // main part here:
156  double losenergy = ihit.energyLoss();
157  float tof = ihit.tof();
158 
159  if (verbosity > 1) {
160  unsigned int unitID = ihit.detUnitId();
161  std::cout << " *******FP420DigiMain: intindex= " << iu << std::endl;
162  std::cout << " tof= " << tof << " EnergyLoss= " << losenergy << " pabs= " << ihit.pabs() << std::endl;
163  std::cout << " EntryLocalP x= " << ihit.entryPoint().x() << " EntryLocalP y= " << ihit.entryPoint().y()
164  << std::endl;
165  std::cout << " ExitLocalP x= " << ihit.exitPoint().x() << " ExitLocalP y= " << ihit.exitPoint().y() << std::endl;
166  std::cout << " EntryLocalP z= " << ihit.entryPoint().z() << " ExitLocalP z= " << ihit.exitPoint().z()
167  << std::endl;
168  std::cout << " unitID= " << unitID << " xytype= " << xytype << " particleType= " << ihit.particleType()
169  << " trackId= " << ihit.trackId() << std::endl;
170  // std::cout << " det= " << det << " sector= " << sector << " zmodule=
171  // " << zmodule << std::endl;
172  std::cout << " bfield= " << bfield << std::endl;
173  }
174  if (verbosity > 0) {
175  std::cout << " *******FP420DigiMain: theApplyTofCut= " << theApplyTofCut << std::endl;
176  std::cout << " tof= " << tof << " EnergyLoss= " << losenergy << " pabs= " << ihit.pabs() << std::endl;
177  std::cout << " particleType= " << ihit.particleType() << std::endl;
178  }
179 
180  if ((!(theApplyTofCut) || (theApplyTofCut && abs(tof) > tofCut && abs(tof) < (tofCut + 200.))) &&
181  losenergy > elossCut) {
182  if (verbosity > 0)
183  std::cout << " inside tof: OK " << std::endl;
184 
187 
188  thePileUpFP420->add(_temp, ihit, verbosity);
189  }
190  // main part end (AZ)
191  } // for
192  // main loop end (AZ)
193 
196 
197  PileUpFP420::signal_map_type afterNoise;
198 
199  if (noNoise) {
200  afterNoise = theSignal;
201  } else {
202  afterNoise = theGNoiseFP420->addNoise(theSignal);
203  // add_noise();
204  }
205  digis.clear();
206 
207  push_digis(theZSuppressFP420->zeroSuppress(theDConverterFP420->convert(afterNoise), verbosity), theLink, afterNoise);
208 
209  return digis; // to HDigiFP420
210 }

References funct::abs(), PileUpFP420::add(), GaussNoiseFP420::addNoise(), DigiConverterFP420::convert(), gather_cfg::cout, PSimHit::detUnitId(), digis, PileUpFP420::dumpLink(), PileUpFP420::dumpSignal(), elossCut, PSimHit::energyLoss(), PSimHit::entryPoint(), PSimHit::exitPoint(), first, input, moduleThickness, noNoise, numStrips, numStripsW, PSimHit::pabs(), PSimHit::particleType(), pitch, pitchW, HitDigitizerFP420::processHit(), push_digis(), PileUpFP420::reset(), theApplyTofCut, theDConverterFP420, theGNoiseFP420, theHitDigitizerFP420, thePileUpFP420, theZSuppressFP420, PSimHit::tof(), tofCut, PSimHit::trackId(), verbosity, PV3DBase< T, PVType, FrameType >::x(), xytype, PV3DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), and ZeroSuppressFP420::zeroSuppress().

Referenced by cms::DigitizerFP420::produce().

Member Data Documentation

◆ adcVec

std::vector<short int> FP420DigiMain::adcVec
private

Definition at line 52 of file FP420DigiMain.h.

◆ addNoisyPixels

bool FP420DigiMain::addNoisyPixels
private

Definition at line 81 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ appliedVoltage

double FP420DigiMain::appliedVoltage
private

Definition at line 100 of file FP420DigiMain.h.

◆ chargeDistributionRMS

double FP420DigiMain::chargeDistributionRMS
private

Definition at line 105 of file FP420DigiMain.h.

◆ chargeMobility

double FP420DigiMain::chargeMobility
private

Definition at line 101 of file FP420DigiMain.h.

◆ ClusterWidth

float FP420DigiMain::ClusterWidth
private

Definition at line 66 of file FP420DigiMain.h.

◆ conf_

edm::ParameterSet FP420DigiMain::conf_
private

Definition at line 54 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ depletionVoltage

double FP420DigiMain::depletionVoltage
private

Definition at line 99 of file FP420DigiMain.h.

◆ digis

std::vector<HDigiFP420> FP420DigiMain::digis
private

Definition at line 194 of file FP420DigiMain.h.

Referenced by push_digis(), and run().

◆ doMissCalibrate

bool FP420DigiMain::doMissCalibrate
private

Definition at line 173 of file FP420DigiMain.h.

◆ elossCut

float FP420DigiMain::elossCut
private

Definition at line 84 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ ENC

float FP420DigiMain::ENC
private

Definition at line 74 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ fluctuate

LandauFP420 FP420DigiMain::fluctuate
private

Definition at line 184 of file FP420DigiMain.h.

◆ ldrift

double FP420DigiMain::ldrift
private

Definition at line 97 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ ldriftX

double FP420DigiMain::ldriftX
private

Definition at line 95 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ ldriftY

double FP420DigiMain::ldriftY
private

Definition at line 96 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ moduleThickness

float FP420DigiMain::moduleThickness
private

Definition at line 168 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ ndigis

int FP420DigiMain::ndigis
private

Definition at line 51 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and push_digis().

◆ noDiffusion

bool FP420DigiMain::noDiffusion
private

Definition at line 104 of file FP420DigiMain.h.

◆ noNoise

bool FP420DigiMain::noNoise
private

Definition at line 80 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ NumberOfSegments

int FP420DigiMain::NumberOfSegments
private

Definition at line 57 of file FP420DigiMain.h.

◆ numStrips

int FP420DigiMain::numStrips
private

Definition at line 162 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ numStripsW

int FP420DigiMain::numStripsW
private

Definition at line 165 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ numStripsX

int FP420DigiMain::numStripsX
private

Definition at line 160 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ numStripsXW

int FP420DigiMain::numStripsXW
private

Definition at line 163 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ numStripsY

int FP420DigiMain::numStripsY
private

Definition at line 161 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ numStripsYW

int FP420DigiMain::numStripsYW
private

Definition at line 164 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ pitch

double FP420DigiMain::pitch
private

Definition at line 90 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ pitchW

double FP420DigiMain::pitchW
private

Definition at line 93 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ pitchX

double FP420DigiMain::pitchX
private

Definition at line 88 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ pitchXW

double FP420DigiMain::pitchXW
private

Definition at line 91 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ pitchY

double FP420DigiMain::pitchY
private

Definition at line 89 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ pitchYW

double FP420DigiMain::pitchYW
private

Definition at line 92 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ Sigma0

float FP420DigiMain::Sigma0
private

Definition at line 61 of file FP420DigiMain.h.

◆ ss

std::vector<const PSimHit *> FP420DigiMain::ss
private

Definition at line 186 of file FP420DigiMain.h.

◆ temperature

double FP420DigiMain::temperature
private

Definition at line 103 of file FP420DigiMain.h.

◆ theAdcFullScale

int FP420DigiMain::theAdcFullScale
private

Definition at line 75 of file FP420DigiMain.h.

◆ theApplyTofCut

bool FP420DigiMain::theApplyTofCut
private

Definition at line 82 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ theCDividerFP420

CDividerFP420* FP420DigiMain::theCDividerFP420
private

Definition at line 128 of file FP420DigiMain.h.

◆ theCDrifterFP420

ChargeDrifterFP420* FP420DigiMain::theCDrifterFP420
private

Definition at line 118 of file FP420DigiMain.h.

◆ theDConverterFP420

DigiConverterFP420* FP420DigiMain::theDConverterFP420
private

Definition at line 156 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

◆ theElectronPerADC

float FP420DigiMain::theElectronPerADC
private

Definition at line 70 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ theGainSmearing

float FP420DigiMain::theGainSmearing
private

Definition at line 174 of file FP420DigiMain.h.

◆ theGNoiseFP420

GaussNoiseFP420* FP420DigiMain::theGNoiseFP420
private

Definition at line 152 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

◆ theHitDigitizerFP420

HitDigitizerFP420* FP420DigiMain::theHitDigitizerFP420
private

Definition at line 154 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

◆ theNoiseInElectrons

float FP420DigiMain::theNoiseInElectrons
private

Definition at line 76 of file FP420DigiMain.h.

◆ theNoiser

GaussNoiseProducerFP420* FP420DigiMain::theNoiser
private

Definition at line 185 of file FP420DigiMain.h.

◆ theOffsetSmearing

float FP420DigiMain::theOffsetSmearing
private

Definition at line 175 of file FP420DigiMain.h.

◆ thePileUpFP420

PileUpFP420* FP420DigiMain::thePileUpFP420
private

Definition at line 153 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

◆ theStripsInChip

int FP420DigiMain::theStripsInChip
private

Definition at line 158 of file FP420DigiMain.h.

◆ theStripThreshold

float FP420DigiMain::theStripThreshold
private

Definition at line 77 of file FP420DigiMain.h.

◆ theStripThresholdInE

float FP420DigiMain::theStripThresholdInE
private

Definition at line 78 of file FP420DigiMain.h.

◆ theThreshold

float FP420DigiMain::theThreshold
private

Definition at line 86 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ thez420

double FP420DigiMain::thez420
private

Definition at line 71 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ thezD2

double FP420DigiMain::thezD2
private

Definition at line 72 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ thezD3

double FP420DigiMain::thezD3
private

Definition at line 73 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ theZSuppressFP420

ZeroSuppressFP420* FP420DigiMain::theZSuppressFP420
private

Definition at line 155 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), run(), and ~FP420DigiMain().

◆ Thick300

float FP420DigiMain::Thick300
private

Definition at line 62 of file FP420DigiMain.h.

Referenced by FP420DigiMain().

◆ tMax

double FP420DigiMain::tMax
private

Definition at line 181 of file FP420DigiMain.h.

◆ tofCut

double FP420DigiMain::tofCut
private

Definition at line 85 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

◆ verbosity

int FP420DigiMain::verbosity
private

Definition at line 57 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), push_digis(), and run().

◆ xytype

int FP420DigiMain::xytype
private

Definition at line 57 of file FP420DigiMain.h.

Referenced by FP420DigiMain(), and run().

HitDigitizerFP420::processHit
hit_map_type processHit(const PSimHit &, const G4ThreeVector &, int, int, double, int, double, double, int)
Definition: HitDigitizerFP420.cc:126
FP420DigiMain::theZSuppressFP420
ZeroSuppressFP420 * theZSuppressFP420
Definition: FP420DigiMain.h:155
FP420DigiMain::numStripsW
int numStripsW
Definition: FP420DigiMain.h:165
mps_fire.i
i
Definition: mps_fire.py:428
input
static const std::string input
Definition: EdmProvDump.cc:48
FP420DigiMain::numStripsY
int numStripsY
Definition: FP420DigiMain.h:161
FP420DigiMain::push_digis
void push_digis(const DigitalMapType &, const HitToDigisMapType &, const PileUpFP420::signal_map_type &)
Definition: FP420DigiMain.cc:212
FP420DigiMain::ldriftY
double ldriftY
Definition: FP420DigiMain.h:96
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
FP420DigiMain::theDConverterFP420
DigiConverterFP420 * theDConverterFP420
Definition: FP420DigiMain.h:156
FP420DigiMain::thePileUpFP420
PileUpFP420 * thePileUpFP420
Definition: FP420DigiMain.h:153
FP420DigiMain::ldrift
double ldrift
Definition: FP420DigiMain.h:97
FP420DigiMain::digis
std::vector< HDigiFP420 > digis
Definition: FP420DigiMain.h:194
FP420DigiMain::noNoise
bool noNoise
Definition: FP420DigiMain.h:80
gather_cfg.cout
cout
Definition: gather_cfg.py:144
FP420DigiMain::pitchX
double pitchX
Definition: FP420DigiMain.h:88
PSimHit::tof
float tof() const
deprecated name for timeOfFlight()
Definition: PSimHit.h:76
ZeroSuppressFP420::zeroSuppress
ZSuppressFP420::DigitalMapType zeroSuppress(const DigitalMapType &, int) override
Definition: ZeroSuppressFP420.cc:66
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
FP420DigiMain::conf_
edm::ParameterSet conf_
Definition: FP420DigiMain.h:54
FP420DigiMain::thezD2
double thezD2
Definition: FP420DigiMain.h:72
FP420DigiMain::tofCut
double tofCut
Definition: FP420DigiMain.h:85
PSimHit::entryPoint
Local3DPoint entryPoint() const
Entry point in the local Det frame.
Definition: PSimHit.h:43
FP420DigiMain::pitchY
double pitchY
Definition: FP420DigiMain.h:89
PileUpFP420::reset
void reset()
Definition: PileUpFP420.h:20
FP420DigiMain::Thick300
float Thick300
Definition: FP420DigiMain.h:62
PSimHit::detUnitId
unsigned int detUnitId() const
Definition: PSimHit.h:97
FP420DigiMain::pitchW
double pitchW
Definition: FP420DigiMain.h:93
FP420DigiMain::xytype
int xytype
Definition: FP420DigiMain.h:57
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
HitDigitizerFP420::hit_map_type
std::map< int, float, std::less< int > > hit_map_type
Definition: HitDigitizerFP420.h:18
PSimHit::pabs
float pabs() const
fast and more accurate access to momentumAtEntry().mag()
Definition: PSimHit.h:67
GaussNoiseFP420
Definition: GaussNoiseFP420.h:7
PSimHit::exitPoint
Local3DPoint exitPoint() const
Exit point in the local Det frame.
Definition: PSimHit.h:46
HDigiFP420
Definition: HDigiFP420.h:4
FP420DigiMain::theGNoiseFP420
GaussNoiseFP420 * theGNoiseFP420
Definition: FP420DigiMain.h:152
DigiConverterFP420::convert
DigitalMapType convert(const signal_map_type &) override
Definition: DigiConverterFP420.cc:35
FP420DigiMain::theHitDigitizerFP420
HitDigitizerFP420 * theHitDigitizerFP420
Definition: FP420DigiMain.h:154
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:125
FP420DigiMain::moduleThickness
float moduleThickness
Definition: FP420DigiMain.h:168
FP420DigiMain::pitch
double pitch
Definition: FP420DigiMain.h:90
FP420DigiMain::numStripsYW
int numStripsYW
Definition: FP420DigiMain.h:164
FP420DigiMain::numStripsXW
int numStripsXW
Definition: FP420DigiMain.h:163
FP420DigiMain::theElectronPerADC
float theElectronPerADC
Definition: FP420DigiMain.h:70
PileUpFP420::add
virtual void add(const HitDigitizerFP420::hit_map_type &, const PSimHit &hit, int)
Definition: PileUpFP420.cc:13
PileUpFP420::signal_map_type
std::map< int, Amplitude, std::less< int > > signal_map_type
Definition: PileUpFP420.h:13
FP420DigiMain::addNoisyPixels
bool addNoisyPixels
Definition: FP420DigiMain.h:81
FP420DigiMain::numStrips
int numStrips
Definition: FP420DigiMain.h:162
FP420DigiMain::elossCut
float elossCut
Definition: FP420DigiMain.h:84
FP420DigiMain::theThreshold
float theThreshold
Definition: FP420DigiMain.h:86
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
FP420DigiMain::numStripsX
int numStripsX
Definition: FP420DigiMain.h:160
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
symbols.dm
dm
Definition: symbols.py:75
FP420DigiMain::thez420
double thez420
Definition: FP420DigiMain.h:71
PileUpFP420
Definition: PileUpFP420.h:10
HitDigitizerFP420
Definition: HitDigitizerFP420.h:16
ZeroSuppressFP420
Definition: ZeroSuppressFP420.h:7
FP420DigiMain::pitchYW
double pitchYW
Definition: FP420DigiMain.h:92
FP420DigiMain::pitchXW
double pitchXW
Definition: FP420DigiMain.h:91
FP420DigiMain::verbosity
int verbosity
Definition: FP420DigiMain.h:57
PSimHit::energyLoss
float energyLoss() const
The energy deposit in the PSimHit, in ???.
Definition: PSimHit.h:79
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
PSimHit::particleType
int particleType() const
Definition: PSimHit.h:89
PileUpFP420::dumpSignal
signal_map_type dumpSignal()
Definition: PileUpFP420.h:24
FP420DigiMain::ndigis
int ndigis
Definition: FP420DigiMain.h:51
PSimHit::trackId
unsigned int trackId() const
Definition: PSimHit.h:106
FP420DigiMain::ENC
float ENC
Definition: FP420DigiMain.h:74
PileUpFP420::HitToDigisMapType
std::map< int, std::vector< std::pair< const PSimHit *, Amplitude > >, std::less< int > > HitToDigisMapType
Definition: PileUpFP420.h:14
DigiConverterFP420
Definition: DigiConverterFP420.h:6
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
PileUpFP420::dumpLink
HitToDigisMapType dumpLink()
Definition: PileUpFP420.h:25
PSimHit
Definition: PSimHit.h:15
GaussNoiseFP420::addNoise
PileUpFP420::signal_map_type addNoise(const PileUpFP420::signal_map_type &) override
Definition: GaussNoiseFP420.cc:14
FP420DigiMain::theApplyTofCut
bool theApplyTofCut
Definition: FP420DigiMain.h:82
FP420DigiMain::thezD3
double thezD3
Definition: FP420DigiMain.h:73
FP420DigiMain::ldriftX
double ldriftX
Definition: FP420DigiMain.h:95