Detailled view | Module view | Time View |
base class; implementation of base class; object definition; key class
/** \DigiSimLinkAlgorithm
** to explain
/**
* Class which takes the responses from each SimHit and piles-up them, within a given module.
* More precisely, it keeps for each strip the link to each individual measurement.
*/
Public Types | |
typedef float | Amplitude |
typedef std::map< int, std::vector< std::pair< const PSimHit *, int > >, std::less < int > > | HitCounterToDigisMapType |
typedef std::map< int, std::vector< std::pair< const PSimHit *, Amplitude > >, std::less< int > > | HitToDigisMapType |
Public Member Functions | |
virtual void | add (const std::vector< double > &locAmpl, const size_t &firstChannelWithSignal, const size_t &lastChannelWithSignal, const PSimHit *hit, const int &counter) |
DigiSimLinkPileUpSignals () | |
const HitCounterToDigisMapType & | dumpCounterLink () const |
const HitToDigisMapType & | dumpLink () const |
void | reset () |
virtual | ~DigiSimLinkPileUpSignals () |
Private Member Functions | |
void | resetLink () |
Private Attributes | |
HitCounterToDigisMapType | theCounterMapLink |
HitToDigisMapType | theMapLink |
* DigiSimLinkProducer to convert hits to digis
Public Member Functions | |
DigiSimLinkProducer (const edm::ParameterSet &conf) | |
virtual void | produce (edm::Event &e, const edm::EventSetup &c) |
virtual | ~DigiSimLinkProducer () |
Private Types | |
typedef std::map< unsigned int, std::vector< std::pair< const PSimHit *, int > >, std::less < unsigned int > > | simhit_map |
typedef simhit_map::iterator | simhit_map_iterator |
typedef std::vector< std::string > | vstring |
Private Attributes | |
std::string | alias |
edm::ParameterSet | conf_ |
std::string | geometryType |
int | numStrips |
CLHEP::HepRandomEngine * | rndEngine |
simhit_map | SimHitMap |
SimHitSelectorFromDB | SimHitSelectorFromDB_ |
std::map< uint32_t, std::vector< int > > | theDetIdList |
DigiSimLinkAlgorithm * | theDigiAlgo |
std::vector< edm::DetSet < StripDigiSimLink > > | theDigiLinkVector |
std::vector< edm::DetSet < SiStripDigi > > | theDigiVector |
std::vector< edm::DetSet < SiStripRawDigi > > | theRawDigiVector |
SiStripFedZeroSuppression * | theSiFEDZeroSuppress |
vstring | trackerContainers |
bool | useConfFromDB |
bool | zeroSuppression |
/**
* Class which allows to "follow" an elementary charge in the silicon.
* It basically defines a quantum of energy in the bulk, with a 3D position.
*/
Public Member Functions | |
float | energy () const |
EnergyDepositUnit (float energy, const Local3DPoint &position) | |
EnergyDepositUnit (float energy, float x, float y, float z) | |
EnergyDepositUnit () | |
float | x () const |
float | y () const |
float | z () const |
Private Attributes | |
float | _energy |
Local3DPoint | _position |
/**
* Base class for the drifting of charges in the silicon.
*/
Public Types | |
typedef std::vector< SignalPoint > | collection_type |
typedef std::vector < EnergyDepositUnit > | ionization_type |
Public Member Functions | |
virtual collection_type | drift (const ionization_type, const LocalVector &, double, double)=0 |
virtual | ~SiChargeCollectionDrifter () |
/**
* Concrete implementation of SiChargeCollectionDrifter. Drifts the charges linearly.
* Drift each energy deposits in the bulk to the surface.
* The resulting position depends on the Lorentz angle, and a sigma is computed
* that describes the diffusion.
*/
Public Member Functions | |
SiChargeCollectionDrifter::collection_type | drift (const SiChargeCollectionDrifter::ionization_type, const LocalVector &, double, double) |
SiLinearChargeCollectionDrifter (double, double, double, double) | |
Private Member Functions | |
SignalPoint | drift (const EnergyDepositUnit &, const LocalVector &, double, double) |
Private Attributes | |
const double | appliedVoltage |
const double | chargeDistributionRMS |
const double | depletionVoltage |
const double | diffusionConstant |
/**
* Base class for the division of a Geant energy deposit in smaller elementary charges inside the silicon
*/
Public Types | |
typedef std::vector < EnergyDepositUnit > | ionization_type |
Public Member Functions | |
virtual ionization_type | divide (const PSimHit *, const LocalVector &, double, const StripGeomDetUnit &det)=0 |
virtual void | setParticleDataTable (const ParticleDataTable *pdt)=0 |
virtual | ~SiChargeDivider () |
/**
* Concrete implementation of SiChargeDivider.
* It divides the charge on the line connecting entry and exit point of the SimTrack in the Silicon.
* Effects that are considered here are:
* - fluctuations of the charge deposit fronm segment to segment
* - pulse shape ( in peak of deconvolution mode)
*/
Public Member Functions | |
SiChargeDivider::ionization_type | divide (const PSimHit *, const LocalVector &, double, const StripGeomDetUnit &det) |
void | setParticleDataTable (const ParticleDataTable *pdt) |
SiLinearChargeDivider (const edm::ParameterSet &conf, CLHEP::HepRandomEngine &) | |
virtual | ~SiLinearChargeDivider () |
Private Member Functions | |
float | DeconvolutionShape (const PSimHit *, const StripGeomDetUnit &det) |
float | driftXPos (const Local3DPoint &pos, const LocalVector &drift, double thickness) |
void | fluctuateEloss (int particleId, float momentum, float eloss, float length, int NumberOfSegmentation, float elossVector[]) |
float | PeakShape (const PSimHit *, const StripGeomDetUnit &det) |
float | TimeResponse (const PSimHit *hit, const StripGeomDetUnit &det) |
Private Attributes | |
const int | chargedivisionsPerStrip |
const double | cosmicShift |
const double | deltaCut |
std::unique_ptr < SiG4UniversalFluctuation > | fluctuate |
const bool | fluctuateCharge |
const bool | peakMode |
CLHEP::HepRandomEngine & | rndEngine |
const ParticleDataTable * | theParticleDataTable |
Static Private Attributes | |
static float | decoValues [651] |
static float | peakValues [921] |
/**
* Base class for ADC simulation.
*/
Public Types | |
typedef std::vector < SiStripRawDigi > | DigitalRawVecType |
typedef std::vector< SiStripDigi > | DigitalVecType |
Public Member Functions | |
virtual DigitalVecType | convert (const std::vector< double > &, edm::ESHandle< SiStripGain > &, unsigned int detid)=0 |
virtual DigitalRawVecType | convertRaw (const std::vector< double > &, edm::ESHandle< SiStripGain > &, unsigned int detid)=0 |
virtual | ~SiDigitalConverter () |
/**
* Concrete implementation of SiDigitalConverter.
*/
Public Member Functions | |
DigitalVecType | convert (const std::vector< double > &, edm::ESHandle< SiStripGain > &, unsigned int detid) |
DigitalRawVecType | convertRaw (const std::vector< double > &, edm::ESHandle< SiStripGain > &, unsigned int detid) |
SiTrivialDigitalConverter (float in) | |
Private Member Functions | |
int | convert (float in) |
int | convertRaw (float in) |
int | truncate (float in_adc) const |
int | truncateRaw (float in_adc) const |
Private Attributes | |
SiDigitalConverter::DigitalVecType | _temp |
SiDigitalConverter::DigitalRawVecType | _tempRaw |
const float | electronperADC |
/**
* Digitizes the response for a single SimHit.
*/
Public Member Functions | |
void | processHit (const PSimHit *, const StripGeomDetUnit &, GlobalVector, float, std::vector< double > &, size_t &, size_t &) |
void | setChargeCollectionDrifter (SiChargeCollectionDrifter *cd) |
void | setChargeDivider (SiChargeDivider *cd) |
void | setInduceChargeOnStrips (SiInduceChargeOnStrips *cd) |
void | setParticleDataTable (const ParticleDataTable *pdt) |
SiHitDigitizer (const edm::ParameterSet &conf, CLHEP::HepRandomEngine &) | |
~SiHitDigitizer () | |
Private Types | |
typedef GloballyPositioned < double > | Frame |
Private Member Functions | |
LocalVector | DriftDirection (const StripGeomDetUnit *_detp, GlobalVector _bfield, float langle) |
Private Attributes | |
const double | chargeMobility |
const double | depletionVoltage |
std::unique_ptr < SiChargeCollectionDrifter > | theSiChargeCollectionDrifter |
std::unique_ptr< SiChargeDivider > | theSiChargeDivider |
std::unique_ptr< const SiInduceChargeOnStrips > | theSiInduceChargeOnStrips |
/**
* Base class for the induction of signal on strips.
* Given a SignalPoint, computes the charge on each strip.
*/
Public Member Functions | |
virtual void | induce (const SiChargeCollectionDrifter::collection_type &, const StripGeomDetUnit &, std::vector< double > &, size_t &, size_t &) const =0 |
virtual | ~SiInduceChargeOnStrips () |
***** ?? to comment
Public Member Functions | |
void | induce (const SiChargeCollectionDrifter::collection_type &collection_points, const StripGeomDetUnit &det, std::vector< double > &localAmplitudes, size_t &recordMinAffectedStrip, size_t &recordMaxAffectedStrip) const |
SiTrivialInduceChargeOnStrips (const edm::ParameterSet &conf, double g) | |
virtual | ~SiTrivialInduceChargeOnStrips () |
Private Member Functions | |
double | chargeDeposited (size_t strip, size_t Nstrips, double amplitude, double chargeSpread, double chargePosition) const |
Static Private Member Functions | |
static unsigned int | indexOf (const std::string &) |
static unsigned int | typeOf (const StripGeomDetUnit &) |
Private Attributes | |
const double | geVperElectron |
const double | Nsigma |
const std::vector< std::vector < double > > | signalCoupling |
Static Private Attributes | |
static const int | Ntypes = 14 |
static const std::string | type [] = { "IB1", "IB2","OB1","OB2","W1a","W2a","W3a","W1b","W2b","W3b","W4","W5","W6","W7"} |
/**
* Base class to add noise to the strips.
*/
Public Member Functions | |
virtual void | addBaselineShift (std::vector< double > &, std::vector< bool > &) const =0 |
virtual void | addCMNoise (std::vector< double > &, float, std::vector< bool > &) const =0 |
virtual void | addNoise (std::vector< double > &, size_t &, size_t &, int, float) const =0 |
virtual void | addNoiseVR (std::vector< double > &, std::vector< float > &) const =0 |
virtual void | addPedestals (std::vector< double > &, std::vector< float > &) const =0 |
virtual | ~SiNoiseAdder () |
/**
* Adds the noise only on a subset of strips where it is expected to be greater than a given threshold.
*/
Public Member Functions | |
void | addBaselineShift (std::vector< double > &, std::vector< bool > &) const |
void | addCMNoise (std::vector< double > &, float, std::vector< bool > &) const |
void | addNoise (std::vector< double > &, size_t &, size_t &, int, float) const |
void | addNoiseVR (std::vector< double > &, std::vector< float > &) const |
void | addPedestals (std::vector< double > &, std::vector< float > &) const |
SiGaussianTailNoiseAdder (float, CLHEP::HepRandomEngine &) | |
~SiGaussianTailNoiseAdder () | |
Private Attributes | |
std::unique_ptr < CLHEP::RandGaussQ > | gaussDistribution |
std::unique_ptr < GaussianTailNoiseGenerator > | genNoise |
CLHEP::HepRandomEngine & | rndEngine |
const float | threshold |
/**
* Class which takes the responses from each SimHit and piles-up them, within a given module.
* More precisely, it keeps for each strip the link to each individual measurement.
*/
Public Types | |
typedef float | Amplitude |
typedef std::map< uint32_t, SignalMapType > | signalMaps |
typedef std::map< int, Amplitude > | SignalMapType |
Public Member Functions | |
virtual void | add (uint32_t detID, const std::vector< double > &locAmpl, const size_t &firstChannelWithSignal, const size_t &lastChannelWithSignal) |
const SignalMapType * | getSignal (uint32_t detID) const |
void | reset () |
SiPileUpSignals () | |
virtual | ~SiPileUpSignals () |
Private Member Functions | |
void | resetSignals () |
Private Attributes | |
signalMaps | signal_ |
*
* SiStripDigitizer to convert hits to digis
*
Public Member Functions | |
virtual void | accumulate (edm::Event const &e, edm::EventSetup const &c) |
virtual void | accumulate (PileUpEventPrincipal const &e, edm::EventSetup const &c) |
virtual void | finalizeEvent (edm::Event &e, edm::EventSetup const &c) |
virtual void | initializeEvent (edm::Event const &e, edm::EventSetup const &c) |
SiStripDigitizer (const edm::ParameterSet &conf, edm::EDProducer &mixMod) | |
virtual | ~SiStripDigitizer () |
Private Types | |
typedef std::map< unsigned int, std::vector< std::pair< const PSimHit *, int > >, std::less < unsigned int > > | simhit_map |
typedef simhit_map::iterator | simhit_map_iterator |
typedef std::vector< std::string > | vstring |
Private Member Functions | |
void | accumulateStripHits (edm::Handle< std::vector< PSimHit > >) |
Private Attributes | |
std::map< unsigned int, StripGeomDetUnit * > | detectorUnits |
const std::string | gainLabel |
const std::string | geometryType |
const std::string | hitsProducer |
edm::ESHandle< TrackerGeometry > | pDD |
const std::string | PRDigi |
edm::ESHandle< MagneticField > | pSetup |
CLHEP::HepRandomEngine * | rndEngine |
const std::string | SCDigi |
std::map< uint32_t, std::vector< int > > | theDetIdList |
std::unique_ptr < SiStripDigitizerAlgorithm > | theDigiAlgo |
const vstring | trackerContainers |
const bool | useConfFromDB |
const std::string | VRDigi |
const bool | zeroSuppression |
const std::string | ZSDigi |
* SiStripDigitizerAlgorithm converts hits to digis
/**
* An elementar charge point, with position, sigma from diffusion and Amplitude.
* That describes the drifted charge seen on the surface of the sensors.
*/
Public Member Functions | |
float | amplitude () const |
const LocalPoint & | position () const |
SignalPoint & | set_amplitude (float amp) |
float | sigma () const |
SignalPoint (float x, float y, float s, float a=1.0) | |
SignalPoint () | |
float | x () const |
float | y () const |
Private Attributes | |
float | _amplitude |
LocalPoint | _pos |
float | _sigma |
Parameter | Default value | Comment |
---|---|---|
DeltaProductionCut | 0.120425 | Geant4 parameter used for the Landau fluctuation. Should be identical to the G4 Simulation part |
APVpeakmode | False | APV mode. It is set to True in SiStripDigi_APVModePeak_cff.py |
LandauFluctuations | True | Activates the Landau fluctuation of the sub-deposits in the silicon |
chargeDivisionsPerStrip | 10 | Controls the number of sub-deposits generated |
CosmicDelayShift | 0.0 | Delay to be added to the simHit time for synchronization. 0.0 for collisions, it has to be adapted for Cosmic MC |
DepletionVoltage | 170 | Depletion voltage of silicon sensors. 170 is a typical value from integration. It controls the diffusion |
AppliedVoltage | 300 | Applied voltage for operations. It controls the diffusion |
ChargeMobility | 310 | Charge mobility in silicon (for holes). It controls the diffusion |
Temperature | 273 | Silicon temperature. It controls the diffusion |
GevPerElectron | 3.61e-09 | Conversion factor for ionization |
ChargeDistributionRMS | 6.5e-10 | Diffusion factor |
noDiffusion | False | flag to activate/deactivate diffusion |
DigiModeList | --- | Outputs |
ROUList | --- | Inputs |
GeometryType | 'idealForDigi' | Geometry |
TrackerConfigurationFromDB | False | Use ConfDb |
ZeroSuppression | True | Switch ZS on/off |
CMS.LorentzAngle | '' | Db tag for Lorentz angle |
Gain | '' | Db tag for Gain |
NoiseSigmaThreshold | 2.0 | Cut on the tail for noise simulation in ZS mode. Noise below N*sigma will not be added. |
electronPerAdcPeak | 262.0 | Conversion factor (gain) for the electronics, when Peak mode |
electronPerAdcDec | 247.0 | Conversion factor (gain) for the electronics, when Deconvolution mode |
FedAlgorithm | 4 | Zero Suppression algorithm. That corresponds to what is set in the firmware. |
Noise | True | Enable/Disable noise simulation. NOTE : turning Noise ON/OFF will make a big change |
TOFCutForDeconvolution | 50.0 | Time-of-Flight cut in deconvolution mode. Deposits timed more than N ns away will not be converted to digis |
TOFCutForPeak | 100.0 | Time-of-Flight cut in peak mode. Deposits timed more than N ns away will not be converted to digis |
Inefficiency | 0.0 | Artificial inefficiency added to the digitization. |
Parameter for VR data (ZeroSuppression= False) | ||
SingleStripNoise | True | only if Noise = True. It uses the values of noise for each strip as stored in the Db |
RealPedestals | True | The pedestals as stored in the Db + 128 are used. If false just a constant shift of 128 is applied |
CommonModeNoise | True | The Gaussian CMN is added for each APV. The RMS is specified by the parameters below |
cmnRMStib | 5.92 | CMN RMS for TIB |
cmnRMStob | 1.08 | CMN RMS for TOB |
cmnRMStid | 3.08 | CMN RMS for TID |
cmnRMStec | 2.44 | CMN RMS for TEC |
APVSaturationFromHIP | True | The APV is killed if an hadron produces HIP. The probability of this happening can be configured by the parameter below |
APVSaturationProb | 0.001 | Probability of an hadron producing HIP |
BaselineShift | True | APV baseline shift down is applied and proportional to the APV occupancy and total charged deposited |
PedestalsCondition | 128 | It is the pedestals offset introduced to avoid negative values on the FED. In the Db the pedestals are subtracted of 128 |
SiStripDigitizer.cc:57: hitsProducer(conf.getParameter<std::string>("hitsProducer")),
SiLinearChargeDivider.cc:16: deltaCut(conf.getParameter<double>("DeltaProductionCut")),
DigiSimLinkAlgorithm.cc:23: peakMode = conf_.getParameter<bool>("APVpeakmode");
SiLinearChargeDivider.cc:9: peakMode(conf.getParameter<bool>("APVpeakmode")),
SiStripDigitizerAlgorithm.cc:33: peakMode(conf.getParameter<bool>("APVpeakmode")),
SiTrivialInduceChargeOnStrips.cc:27: std::string mode = conf.getParameter<bool>("APVpeakmode") ? "Peak" : "Dec";
SiLinearChargeDivider.cc:11: fluctuateCharge(conf.getParameter<bool>("LandauFluctuations")),
SiLinearChargeDivider.cc:14: chargedivisionsPerStrip(conf.getParameter("chargeDivisionsPerStrip")),
DigiSimLinkAlgorithm.cc:29: cosmicShift = conf_.getUntrackedParameter<double>("CosmicDelayShift");
SiLinearChargeDivider.cc:20: cosmicShift(conf.getUntrackedParameter<double>("CosmicDelayShift")),
SiStripDigitizerAlgorithm.cc:46: cosmicShift(conf.getUntrackedParameter<double>("CosmicDelayShift")),
SiHitDigitizer.cc:17: depletionVoltage(conf.getParameter<double>("DepletionVoltage")),
SiHitDigitizer.cc:24: conf.getParameter<double>("AppliedVoltage"))),
SiHitDigitizer.cc:18: chargeMobility(conf.getParameter<double>("ChargeMobility")),
SiHitDigitizer.cc:21: CBOLTZ_over_e_SI * chargeMobility * conf.getParameter<double>("Temperature") * (conf.getParameter<bool>("noDiffusion") ? noDiffusionMultiplier : 1.0),
SiHitDigitizer.cc:25: theSiInduceChargeOnStrips(new SiTrivialInduceChargeOnStrips(conf, conf.getParameter<double>("GevPerElectron"))) {
SiHitDigitizer.cc:22: conf.getParameter<double>("ChargeDistributionRMS"),
SiHitDigitizer.cc:21: CBOLTZ_over_e_SI * chargeMobility * conf.getParameter<double>("Temperature") * (conf.getParameter<bool>("noDiffusion") ? noDiffusionMultiplier : 1.0),
SiTrivialInduceChargeOnStrips.cc:29: signalCoupling.push_back(conf.getParameter("CouplingConstant"+mode+typeArray[i]));
DigiSimLinkProducer.cc:67: edm::ParameterSet ParamSet=conf_.getParameter<edm::ParameterSet>("DigiModeList");
SiStripDigitizer.cc:59: ZSDigi(conf.getParameter<edm::ParameterSet>("DigiModeList").getParameter<std::string>("ZSDigi")),
SiStripDigitizer.cc:60: SCDigi(conf.getParameter<edm::ParameterSet>("DigiModeList").getParameter<std::string>("SCDigi")),
SiStripDigitizer.cc:61: VRDigi(conf.getParameter<edm::ParameterSet>("DigiModeList").getParameter<std::string>("VRDigi")),
SiStripDigitizer.cc:62: PRDigi(conf.getParameter<edm::ParameterSet>("DigiModeList").getParameter<std::string>("PRDigi")),
DigiSimLinkProducer.cc:71: trackerContainers = conf.getParameter<std::vector<std::string> >("ROUList");
SiStripDigitizer.cc:58: trackerContainers(conf.getParameter<std::vector<std::string>>("ROUList")),
DigiSimLinkProducer.cc:72: geometryType = conf.getParameter<std::string>("GeometryType");
SiStripDigitizer.cc:63: geometryType(conf.getParameter<std::string>("GeometryType")),
DigiSimLinkProducer.cc:73: useConfFromDB = conf.getParameter<bool>("TrackerConfigurationFromDB");
SiStripDigitizer.cc:64: useConfFromDB(conf.getParameter<bool>("TrackerConfigurationFromDB")),
DigiSimLinkAlgorithm.cc:26: zeroSuppression = conf_.getParameter<bool>("ZeroSuppression");
DigiSimLinkProducer.cc:83: zeroSuppression = conf_.getParameter<bool>("ZeroSuppression");
SiStripDigitizerAlgorithm.cc:41: zeroSuppression(conf.getParameter<bool>("ZeroSuppression")),
SiStripDigitizer.cc:65: zeroSuppression(conf.getParameter<bool>("ZeroSuppression"))
DigiSimLinkProducer.cc:139: std::string LAname = conf_.getParameter<std::string>("LorentzAngle");
SiStripDigitizerAlgorithm.cc:25: lorentzAngleName(conf.getParameter<std::string>("LorentzAngle")),
DigiSimLinkProducer.cc:141: std::string gainLabel = conf_.getParameter<std::string>("Gain");
SiStripDigitizer.cc:56: gainLabel(conf.getParameter<std::string>("Gain")),
DigiSimLinkAlgorithm.cc:21: theThreshold = conf_.getParameter<double>("NoiseSigmaThreshold");
SiStripDigitizerAlgorithm.cc:26: theThreshold(conf.getParameter<double>("NoiseSigmaThreshold")),
DigiSimLinkAlgorithm.cc:24: theElectronPerADC = conf_.getParameter<double>( peakMode ? "electronPerAdcPeak" : "electronPerAdcDec" );
SiStripDigitizerAlgorithm.cc:42: theElectronPerADC(conf.getParameter<double>( peakMode ? "electronPerAdcPeak" : "electronPerAdcDec" )),
DigiSimLinkAlgorithm.cc:24: theElectronPerADC = conf_.getParameter<double>( peakMode ? "electronPerAdcPeak" : "electronPerAdcDec" );
SiStripDigitizerAlgorithm.cc:42: theElectronPerADC(conf.getParameter<double>( peakMode ? "electronPerAdcPeak" : "electronPerAdcDec" )),
DigiSimLinkAlgorithm.cc:22: theFedAlgo = conf_.getParameter<int>("FedAlgorithm");
SiStripDigitizerAlgorithm.cc:40: theFedAlgo(conf.getParameter<int>("FedAlgorithm")),
DigiSimLinkAlgorithm.cc:25: noise = conf_.getParameter<bool>("Noise");
SiStripDigitizerAlgorithm.cc:34: noise(conf.getParameter<bool>("Noise")),
DigiSimLinkAlgorithm.cc:31: RealPedestals = conf_.getParameter<bool>("RealPedestals");
SiStripDigitizerAlgorithm.cc:35: RealPedestals(conf.getParameter<bool>("RealPedestals")),
DigiSimLinkAlgorithm.cc:32: SingleStripNoise = conf_.getParameter<bool>("SingleStripNoise");
SiStripDigitizerAlgorithm.cc:36: SingleStripNoise(conf.getParameter<bool>("SingleStripNoise")),
DigiSimLinkAlgorithm.cc:33: CommonModeNoise = conf_.getParameter<bool>("CommonModeNoise");
SiStripDigitizerAlgorithm.cc:37: CommonModeNoise(conf.getParameter<bool>("CommonModeNoise")),
DigiSimLinkAlgorithm.cc:34: BaselineShift = conf_.getParameter<bool>("BaselineShift");
SiStripDigitizerAlgorithm.cc:38: BaselineShift(conf.getParameter<bool>("BaselineShift")),
DigiSimLinkAlgorithm.cc:35: APVSaturationFromHIP = conf_.getParameter<bool>("APVSaturationFromHIP");
SiStripDigitizerAlgorithm.cc:39: APVSaturationFromHIP(conf.getParameter<bool>("APVSaturationFromHIP")),
DigiSimLinkAlgorithm.cc:36: APVSaturationProb = conf_.getParameter<double>("APVSaturationProb");
SiStripDigitizerAlgorithm.cc:31: APVSaturationProb(conf.getParameter<double>("APVSaturationProb")),
DigiSimLinkAlgorithm.cc:37: cmnRMStib = conf_.getParameter<double>("cmnRMStib");
SiStripDigitizerAlgorithm.cc:27: cmnRMStib(conf.getParameter<double>("cmnRMStib")),
DigiSimLinkAlgorithm.cc:38: cmnRMStob = conf_.getParameter<double>("cmnRMStob");
SiStripDigitizerAlgorithm.cc:28: cmnRMStob(conf.getParameter<double>("cmnRMStob")),
DigiSimLinkAlgorithm.cc:39: cmnRMStid = conf_.getParameter<double>("cmnRMStid");
SiStripDigitizerAlgorithm.cc:29: cmnRMStid(conf.getParameter<double>("cmnRMStid")),
DigiSimLinkAlgorithm.cc:40: cmnRMStec = conf_.getParameter<double>("cmnRMStec");
SiStripDigitizerAlgorithm.cc:30: cmnRMStec(conf.getParameter<double>("cmnRMStec")),
DigiSimLinkAlgorithm.cc:41: pedOffset = (unsigned int)conf_.getParameter<double>("PedestalsOffset");
SiStripDigitizerAlgorithm.cc:48: pedOffset((unsigned int)conf.getParameter<double>("PedestalsOffset")),
DigiSimLinkAlgorithm.cc:28: theTOFCutForDeconvolution = conf_.getParameter<double>("TOFCutForDeconvolution");
SiStripDigitizerAlgorithm.cc:44: theTOFCutForDeconvolution(conf.getParameter<double>("TOFCutForDeconvolution")),
DigiSimLinkAlgorithm.cc:27: theTOFCutForPeak = conf_.getParameter<double>("TOFCutForPeak");
SiStripDigitizerAlgorithm.cc:43: theTOFCutForPeak(conf.getParameter<double>("TOFCutForPeak")),
DigiSimLinkAlgorithm.cc:30: inefficiency = conf_.getParameter<double>("Inefficiency");
SiStripDigitizerAlgorithm.cc:47: inefficiency(conf.getParameter<double>("Inefficiency")),
runTheMatrix.py -n -l 201.0 -eyou can see the relval steps. and run
runTheMatrix.py -nlist all of the processing options.
from Andrea Giammanco twiki:http://agiamman.web.cern.ch/agiamman/tkvalid/
Sequence of actions:
cmsrel CMSSW_3_3_0_pre6 cd CMSSW_3_3_0_pre6/src cvs co Validation/TrackerConfiguration cd Validation/TrackerConfiguration/test/ ./getHarvestedHistos.csh https://etc. cd ../scripts [edit filenames in TrackerValidationChain.csh] ./TrackerValidationChain.csh
Normally you download the already harvested files from here: https://cmsweb.cern.ch/dqm/offline/data/browse/ROOT/RelVal
But if you have to do harvesting yourself, then you must do "step 3" of the relval testing with the corresponding input files. Example DBS query:
dbs --search --query='find file where dataset like /RelValSingleMuPt10/CMSSW_3_1_4-MC_31X_V3-v1/GEN-SIM-RECO'
In case the RECO step has to be redone, you also need "step 2", e.g.:
cmsDriver.py step2 -s RAW2DIGI,L1Reco,RECO,VALIDATION --relval 25000,100 --datatier GEN-SIM-RECO --eventcontent RECOSIM --geometry DB --conditions auto:mc --filein /store/relval/CMSSW_3_6_0_pre2/RelValSingleMuPt100/GEN-SIM-DIGI-RAW-HLTDEBUG/MC_3XY_V24_GeomDB-v1/0000/74D1A746-DC27-DF11-85C2-0030487CD77E.root cmsDriver.py step3 -s HARVESTING:validationHarvesting --conditions FrontierConditions_GlobalTag,MC_3XY_V24::All --filein file:step2_RAW2DIGI_L1Reco_RECO_VALIDATION_DQM.root
The output of your validation is copied here:
/afs/cern.ch/cms/performance/tracker/activities/validation/If copyWWW = true, results are visible at the address http://cmsdoc.cern.ch/cms/performance/tracker/activities/validation/
Then I must fill the tables in https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideValidationTableReco and https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideValidationTableSim, and send mails to hn-cms-trackerperformance@cern.ch and hn-cms-relval@cern.ch
Standard mail to hn-cms-trackerperformance@cern.ch:
Dear all, at the page: http://cmsdoc.cern.ch/cms/performance/tracker/activities/validation/CMSSW_3_4_0_pre2/ you can find the validation of CMSSW_3_4_0_pre2 vs CMSSW_3_4_0_pre1 for the Tracker. Andrea
Standard mail to hn-cms-relval@cern.ch:
Dear all, here the results for tracker validation: http://cmsdoc.cern.ch/cms/performance/tracker/activities/validation/CMSSW_3_4_0_pre2/ Dataset used for validation: /RelValSingleMuPt10/CMSSW_3_4_0_pre2-MC_3XY_V10-v1/GEN-SIM-RECO Requester group: Tracker DPG Remarks: none Validation status: Success. Cheers, Andrea
In order to free disk space, very old harvesting rootfiles have to be gzipped and moved to castor; use this script:
cd Validation/TrackerConfiguration/scripts ./backup_and_free.csh CMSSW_3_1_1
To check whether there were changes in the software: https://twiki.cern.ch/twiki/bin/view/CMS/TrackerDPGRelIntegration.
If there are changes to commit, one must follow the instructions in https://twiki.cern.ch/twiki/bin/view/CMS/RelValTesting and then submit the tag in the validation tag collector wiki and in the CMS tag collector (login, then "package publication").