CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
SiPixelDigitizerAlgorithm::PixelAging Struct Reference

Public Member Functions

 PixelAging (const edm::ParameterSet &conf, bool AddPixelAging, int NumberOfBarrelLayers, int NumberOfEndcapDisks)
 

Public Attributes

unsigned int FPixIndex
 
float thePixelPseudoRadDamage [20]
 

Detailed Description

Internal use only.

Definition at line 260 of file SiPixelDigitizerAlgorithm.h.

Constructor & Destructor Documentation

SiPixelDigitizerAlgorithm::PixelAging::PixelAging ( const edm::ParameterSet conf,
bool  AddPixelAging,
int  NumberOfBarrelLayers,
int  NumberOfEndcapDisks 
)

Definition at line 456 of file SiPixelDigitizerAlgorithm.cc.

References edm::hlt::Exception, edm::ParameterSet::getParameter(), i, j, SiPixelDigitizerAlgorithm::NumberOfBarrelLayers, and SiPixelDigitizerAlgorithm::NumberOfEndcapDisks.

456  {
457  // pixel aging
458  // Don't use Hard coded values, read aging in from python or don't use any
459  if(AddAging) {
460  int NumberOfTotLayers = NumberOfBarrelLayers + NumberOfEndcapDisks;
462 
463  int i=0;
464  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix1");
465  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix2");
466  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix3");
467  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix4");
468 
469  // to be removed when Gaelle will have the phase2 digitizer
470  if (NumberOfBarrelLayers>=5){
471  if (NumberOfTotLayers>20){throw cms::Exception("Configuration") <<"SiPixelDigitizer was given more layers than it can handle";}
472  // For Phase2 tracker layers just set the outermost BPix aging 0.
473  for (int j=5 ; j<=NumberOfBarrelLayers ; j++){
474  thePixelPseudoRadDamage[j-1]=0.;
475  }
476  }
477  //
478  i=FPixIndex;
479  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_FPix1");
480  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_FPix2");
481  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_FPix3");
482 
483  //To be removed when Phase2 digitizer will be available
484  if (NumberOfEndcapDisks>=4){
485  if (NumberOfTotLayers>20){throw cms::Exception("Configuration") <<"SiPixelDigitizer was given more layers than it can handle";}
486  // For Phase2 tracker layers just set the extra FPix disk aging to 0. BE CAREFUL THESE VALUES ARE HARDCODED ALSO ELSEWHERE IN THIS FILE
487  for (int j=4+FPixIndex ; j<=NumberOfEndcapDisks+NumberOfBarrelLayers ; j++){
488  thePixelPseudoRadDamage[j-1]=0.;
489  }
490  }
491  }
492  // the first "NumberOfBarrelLayers" settings [0],[1], ... , [NumberOfBarrelLayers-1] are for the barrel pixels
493  // the next "NumberOfEndcapDisks" settings [NumberOfBarrelLayers],[NumberOfBarrelLayers+1], ... [NumberOfEndcapDisks+NumberOfBarrelLayers-1]
494 }
T getParameter(std::string const &) const
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9

Member Data Documentation

unsigned int SiPixelDigitizerAlgorithm::PixelAging::FPixIndex

Definition at line 263 of file SiPixelDigitizerAlgorithm.h.

Referenced by SiPixelDigitizerAlgorithm::pixel_aging().

float SiPixelDigitizerAlgorithm::PixelAging::thePixelPseudoRadDamage[20]

Definition at line 262 of file SiPixelDigitizerAlgorithm.h.

Referenced by SiPixelDigitizerAlgorithm::pixel_aging().