CMS 3D CMS Logo

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 253 of file SiPixelDigitizerAlgorithm.h.

Constructor & Destructor Documentation

◆ PixelAging()

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

Definition at line 759 of file SiPixelDigitizerAlgorithm.cc.

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

762  {
763  // pixel aging
764  // Don't use Hard coded values, read aging in from python or don't use any
765  if (AddAging) {
766  int NumberOfTotLayers = NumberOfBarrelLayers + NumberOfEndcapDisks;
768 
769  int i = 0;
770  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix1");
771  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix2");
772  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix3");
773  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_BPix4");
774 
775  // to be removed when Gaelle will have the phase2 digitizer
776  if (NumberOfBarrelLayers >= 5) {
777  if (NumberOfTotLayers > 20) {
778  throw cms::Exception("Configuration") << "SiPixelDigitizer was given more layers than it can handle";
779  }
780  // For Phase2 tracker layers just set the outermost BPix aging 0.
781  for (int j = 5; j <= NumberOfBarrelLayers; j++) {
782  thePixelPseudoRadDamage[j - 1] = 0.;
783  }
784  }
785  //
786  i = FPixIndex;
787  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_FPix1");
788  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_FPix2");
789  thePixelPseudoRadDamage[i++] = conf.getParameter<double>("thePixelPseudoRadDamage_FPix3");
790 
791  //To be removed when Phase2 digitizer will be available
792  if (NumberOfEndcapDisks >= 4) {
793  if (NumberOfTotLayers > 20) {
794  throw cms::Exception("Configuration") << "SiPixelDigitizer was given more layers than it can handle";
795  }
796  // For Phase2 tracker layers just set the extra FPix disk aging to 0. BE CAREFUL THESE VALUES ARE HARDCODED ALSO ELSEWHERE IN THIS FILE
797  for (int j = 4 + FPixIndex; j <= NumberOfEndcapDisks + NumberOfBarrelLayers; j++) {
798  thePixelPseudoRadDamage[j - 1] = 0.;
799  }
800  }
801  }
802  // the first "NumberOfBarrelLayers" settings [0],[1], ... , [NumberOfBarrelLayers-1] are for the barrel pixels
803  // the next "NumberOfEndcapDisks" settings [NumberOfBarrelLayers],[NumberOfBarrelLayers+1], ... [NumberOfEndcapDisks+NumberOfBarrelLayers-1]
804 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307

Member Data Documentation

◆ FPixIndex

unsigned int SiPixelDigitizerAlgorithm::PixelAging::FPixIndex

Definition at line 256 of file SiPixelDigitizerAlgorithm.h.

◆ thePixelPseudoRadDamage

float SiPixelDigitizerAlgorithm::PixelAging::thePixelPseudoRadDamage[20]

Definition at line 255 of file SiPixelDigitizerAlgorithm.h.