ATLAS Offline Software
Loading...
Searching...
No Matches
TRTDigSettings Class Reference

Class containing parameters and settings used by TRT digitization. More...

#include <TRTDigSettings.h>

Inheritance diagram for TRTDigSettings:
Collaboration diagram for TRTDigSettings:

Classes

struct  doubleparameter
 Settable parameter, double. More...
struct  intboolparameter
 Settable parameter, int and bool. More...

Public Member Functions

 TRTDigSettings ()
 Parameters and settings for TRT digitization.
void initialize (const InDetDD::TRT_DetectorManager *detmgr)
 Initialize: fill defaults and overwrite by user values where appropriate.
void addPropertiesForOverrideableParameters (Algorithm *alg)
 Add properties for overrideable parameters.
void addPropertiesForOverrideableParameters (AlgTool *algt)
 Add properties for overrideable parameters - tool version.
void print (const std::string &front="") const
 Printing of TRT digitization settings.
void printFlagsForOverrideableParameters (const std::string &front="") const
 Print TRT digitization settings overrideable parameters.
int digVers () const
bool useAttenuation () const
double attenuationLength () const
double trEfficiencyBarrel (int strawGasType) const
 Get assumed Transition Radiation efficiency in barrel.
double trEfficiencyEndCapA (int strawGasType) const
 Get assumed Transition Radiation efficiency in end caps.
double trEfficiencyEndCapB (int strawGasType) const
double ionisationPotential (int strawGasType) const
 Get ionisation potential.
double smearingFactor (int strawGasType) const
 Get smearing factor.
unsigned int digVersion () const
bool useMagneticFieldMap () const
double timeInterval () const
 Get time interval covered by each digit.
unsigned int numberOfBins () const
 Get number of time bins used for internal shaping of signal.
unsigned int numberOfBinsInEncodingBin () const
 Get number of internal time bins corresponding to one low threshold bit.
double minDiscriminatorWidth () const
 Get the minimum width of discriminator.
double discriminatorSettlingTime () const
 Get discriminator settling time.
double discriminatorDeadTime () const
 Get discriminator dead time.
double lowThresholdBar (int strawGasType) const
 Get discriminator setting for low threshold.
double lowThresholdEC (int strawGasType) const
double highThresholdBarShort (int strawGasType) const
 Get discriminator setting for high threshold.
double highThresholdBarLong (int strawGasType) const
double highThresholdECAwheels (int strawGasType) const
double highThresholdECBwheels (int strawGasType) const
int htT0shiftBarShort () const
 T0 shift for HT.
int htT0shiftBarLong () const
int htT0shiftECAwheels () const
int htT0shiftECBwheels () const
int ltT0shiftBarShort (int strawGasType) const
 T0 for LT.
int ltT0shiftBarLong (int strawGasType) const
int ltT0shiftECAwheels (int strawGasType) const
int ltT0shiftECBwheels (int strawGasType) const
double innerRadiusOfStraw () const
 Get inner radius of straw.
double outerRadiusOfWire () const
 Get radius of signal wire.
double lengthOfDeadRegion () const
 Get length of dead region at end of straws.
bool timeCorrection () const
 Query whether time is corrected for flight and wire propagation delays.
double signalPropagationSpeed () const
 Get wire signal propagation speed.
double distanceToTimeFactor () const
 Get "distanceToTimeFactor" (fugde factor)
double maxVertexDisplacement () const
 Get max vertex displacement.
double timeOffsetCalcVertexX () const
 Get x value of point where particles are assumed to originate.
double timeOffsetCalcVertexY () const
 Get y value of point where particles are assumed to originate.
double timeOffsetCalcVertexZ () const
 Get x value of point where particles are assumed to originate.
bool electronicsAreAtFarEnd () const
 Query whether electronics is assumed to be at far end of straw.
bool timeshiftsSymmetricForPhiSectors () const
 Query whether time offsets are assumed to be symmetric in phi.
unsigned int numberOfCrossingsBeforeMain () const
 Get number of simulated bunch crossings before main event (pile up)
double pileUpSDOsMinEkin () const
 Get minimum Ekin for pileup track to enter MC-truth.
bool noiseInUnhitStraws () const
 Query whether simulation of noise in unhit straws.
bool noiseInSimhits () const
 Query whether simulation of noise in hit straws.
double fastElectronicsNoisePulseDistance () const
 Get fast electronics noise pulse distance (time)
double slowPeriodicNoisePulseDistance () const
 Get slow periodic noise pulse distance (time)
double slowPeriodicNoisePulseFraction () const
 Get slow periodic noise pulse fraction.
double averageNoiseLevel () const
 Get average noise level.
double crossTalkNoiseLevel () const
 Get average cross talk noise level.
double crossTalkNoiseLevelOtherEnd () const
double relativeLowThresholdFluctuation () const
 Get relative low threshold fluctuations (evt to evt & straw to straw)
double relativeHighThresholdFluctuation () const
 Get relative high threshold fluctuations (evt to evt & straw to straw)
double solenoidFieldStrength () const
 Get solenoid field strength.
unsigned int cosmicFlag () const
 Get flag used for cosmics runs.
bool isCTB () const
 Query whether CTB (Combined Test Beam 2004) flag is set.
bool isOverlay () const
 Get flag used for overlay.
bool killEndCap () const
 Is end cap killed.
bool killBarrel () const
 Is barrel killed.
double jitterTimeOffset () const
 In cosmics, events not correlated with LHC clock.
bool doCosmicTimingPit () const
 Cosmics timing corresponding to pit setup?
bool doCrosstalk () const
 Switch on crosstalk noise based on Cosmic 08 measurements.
unsigned int storeSDO () const
bool getT0FromData () const
double TrtRangeCutProperty () const
bool msgLvl (const MSG::Level lvl) const
 Test the output level.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.
void setLevel (MSG::Level lvl)
 Change the current logging level.

Private Member Functions

void defineVariables ()
 Define settable variables.
void fillDefaults (const InDetDD::TRT_DetectorManager *detmgr)
 Fill default values into settable variables.
void processOverrides ()
 Overwrite default values by uses values.
void defineNewVariable (const std::string &name, double *datamember, const std::string &description, const std::string &unitname, double unitval, double lowrange, double highrange)
 Define new double variable.
void defineNewUIntVariable (const std::string &name, unsigned int *datamember, const std::string &description, unsigned int lowrange, unsigned int highrange)
 Define new unsigned int variable.
void defineNewIntVariable (const std::string &name, int *datamember, const std::string &description, int lowrange, int highrange)
 Define new int variable.
void defineNewBoolVariable (const std::string &name, bool *datamember, const std::string &description)
 Define new bool variable.
void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

bool m_useMagneticFieldMap = false
bool m_getT0FromData = false
unsigned int m_storeSDO = 0U
 Time window in which to store SDOs.
double m_ionisationPotential = 0.0
 Mean ionisation potential.
double m_ionisationPotentialArgon = 0.0
 Mean ionisation potential for Argon mixture.
double m_ionisationPotentialKrypton = 0.0
 Mean ionisation potential for Krypton mixture.
double m_smearingFactor = 0.0
 Cluster energy smearing factor.
double m_smearingFactorArgon = 0.0
 Cluster energy smearing factor for Argon mixture.
double m_smearingFactorKrypton = 0.0
 Cluster energy smearing factor for Krypton mixture.
double m_timeInterval = 0.0
 Time interval covered by each digit.
unsigned int m_numberOfBins = 0U
 No.
unsigned int m_numberOfBinsInEncodingBin = 0U
 No.
double m_minDiscriminatorWidth = 0.0
 Min.
double m_discriminatorSettlingTime = 0.0
 Discriminator settling time.
double m_discriminatorDeadTime = 0.0
 Discriminator dead time.
double m_signalPropagationSpeed = 0.0
 Signal propagation time in signal wire.
double m_distanceToTimeFactor = 0.0
 Fudge factor: time to distance.
double m_lowThresholdBar = 0.0
 Low threshold discriminator setting.
double m_lowThresholdEC = 0.0
 Low threshold discriminator setting.
double m_lowThresholdBarArgon = 0.0
 Low threshold discriminator setting for Argon mixture.
double m_lowThresholdECArgon = 0.0
 Low threshold discriminator setting for Argon mixture.
double m_lowThresholdBarKrypton = 0.0
 Low threshold discriminator setting for Krypton mixture.
double m_lowThresholdECKrypton = 0.0
 Low threshold discriminator setting for Krypton mixture.
double m_highThresholdBarShort = 0.0
 High threshold discriminator setting.
double m_highThresholdBarLong = 0.0
 High threshold discriminator setting.
double m_highThresholdECAwheels = 0.0
 High threshold discriminator setting.
double m_highThresholdECBwheels = 0.0
 High threshold discriminator setting.
double m_highThresholdBarShortArgon = 0.0
 High threshold discriminator setting Argon.
double m_highThresholdBarLongArgon = 0.0
 High threshold discriminator setting Argon.
double m_highThresholdECAwheelsArgon = 0.0
 High threshold discriminator setting Argon.
double m_highThresholdECBwheelsArgon = 0.0
 High threshold discriminator setting Argon.
double m_highThresholdBarShortKrypton = 0.0
 High threshold discriminator setting Krypton.
double m_highThresholdBarLongKrypton = 0.0
 High threshold discriminator setting Krypton.
double m_highThresholdECAwheelsKrypton = 0.0
 High threshold discriminator setting Krypton.
double m_highThresholdECBwheelsKrypton = 0.0
 High threshold discriminator setting Krypton.
int m_htT0shiftBarShort = 0
int m_htT0shiftBarLong = 0
 HT T0 shift.
int m_htT0shiftECAwheels = 0
int m_htT0shiftECBwheels = 0
int m_ltT0shiftBarShortXe = 0
int m_ltT0shiftBarShortKr = 0
 LT T0 shift.
int m_ltT0shiftBarShortAr = 0
int m_ltT0shiftBarLongXe = 0
int m_ltT0shiftBarLongKr = 0
int m_ltT0shiftBarLongAr = 0
int m_ltT0shiftECAwheelsXe = 0
int m_ltT0shiftECAwheelsKr = 0
int m_ltT0shiftECAwheelsAr = 0
int m_ltT0shiftECBwheelsXe = 0
int m_ltT0shiftECBwheelsKr = 0
int m_ltT0shiftECBwheelsAr = 0
double m_innerRadiusOfStraw = 0.0
 Inner radius of straw.
double m_outerRadiusOfWire = 0.0
 Radius of drift wire.
double m_lengthOfDeadRegion = 0.0
 Length of dead region at straw end.
bool m_timeCorrection = false
 Corrrect for flight and wire propagation delays.
unsigned int m_numberOfCrossingsBeforeMain = 0U
 For pileup: BCs before main event.
double m_pileUpSDOsMinEkin = 0.0
 Min.
double m_maxVertexDisplacement = 0.0
 Max.
double m_timeOffsetCalcVertexX = 0.0
 x-coord.
double m_timeOffsetCalcVertexY = 0.0
 y-coord.
double m_timeOffsetCalcVertexZ = 0.0
 z-coord.
bool m_electronicsAreAtFarEnd = false
 Electronics assumed at far end of straw.
bool m_timeshiftsSymmetricForPhiSectors = false
 Time offset assumed phi symmetric.
double m_trEfficiencyBarrel = 0.0
 Transition Radiation efficiency, barrel.
double m_trEfficiencyEndCapA = 0.0
 Transition Radiation efficiency, end cap A.
double m_trEfficiencyEndCapB = 0.0
 Transition Radiation efficiency, end cap B.
double m_trEfficiencyBarrelArgon = 0.0
 Transition Radiation efficiency, barrel, Argon.
double m_trEfficiencyEndCapAArgon = 0.0
 Transition Radiation efficiency, end cap A, Argon.
double m_trEfficiencyEndCapBArgon = 0.0
 Transition Radiation efficiency, end cap B, Argon.
double m_trEfficiencyBarrelKrypton = 0.0
 Transition Radiation efficiency, barrel, Krypton.
double m_trEfficiencyEndCapAKrypton = 0.0
 Transition Radiation efficiency, end cap A, Krypton.
double m_trEfficiencyEndCapBKrypton = 0.0
 Transition Radiation efficiency, end cap B, Krypton.
bool m_noiseInUnhitStraws = false
 Simulate noise in unhit straws.
bool m_noiseInSimhits = false
 Simulate noise in hit straws.
bool m_isCTB = false
 Data is from CTB (Combined Test Beam)
bool m_killEndCap = false
 Disable end cap.
bool m_killBarrel = false
 Disable barrel.
double m_jitterTimeOffset = 0.0
 Event time not correlated with LHC clock.
bool m_doCosmicTimingPit = false
 Cosmics pit setup.
bool m_doCrosstalk = false
 Crosstalk noise.
unsigned int m_cosmicFlag = 0U
 Data is cosmics.
bool m_isOverlay = false
 Doing overlay.
double m_fastElectronicsNoisePulseDistance = 0.0
 Fast electronics noise pulse distance (time)
double m_slowPeriodicNoisePulseDistance = 0.0
 Slow periodic noise pulse distance (time)
double m_slowPeriodicNoisePulseFraction = 0.0
 Slow periodic noise pulse fraction.
double m_averageNoiseLevel = 0.0
 Average noise level.
double m_crosstalkNoiseLevel = 0.0
 Average cross talk noise level.
double m_crosstalkNoiseLevelOtherEnd = 0.0
 Average cross talk noise level - other end.
double m_relativeLowThresholdFluctuation = 0.0
 Relative low threshold fluctuation.
double m_relativeHighThresholdFluctuation = 0.0
 Relative high threshold fluctuation.
double m_solenoidFieldStrength = 0.0
 Solenoid field strength.
bool m_useAttenuation = false
double m_attenuationLength = 0.0
double m_trtRangeCutProperty = 0.0
 Electrons xenon range cut in TRT simulation.
std::map< std::string, doubleparameterm_doubleparMap
 Map of settable parameters (double)
std::map< std::string, intboolparameterm_intboolparMap
 Map of settable parameters (int & bool)
double m_propertyNotSetMagicNumber {}
int m_propertyNotSetMagicNumber_int {}
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels)
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging)

Detailed Description

Class containing parameters and settings used by TRT digitization.

Author
Thomas Kittelmann

Definition at line 34 of file TRTDigSettings.h.

Constructor & Destructor Documentation

◆ TRTDigSettings()

TRTDigSettings::TRTDigSettings ( )

Parameters and settings for TRT digitization.

Definition at line 38 of file TRTDigSettings.cxx.

39 : AthMessaging("TRTDigSettings"),
42{
44}
AthMessaging()
Default constructor:
int m_propertyNotSetMagicNumber_int
void defineVariables()
Define settable variables.
double m_propertyNotSetMagicNumber

Member Function Documentation

◆ addPropertiesForOverrideableParameters() [1/2]

void TRTDigSettings::addPropertiesForOverrideableParameters ( Algorithm * alg)

Add properties for overrideable parameters.

Definition at line 214 of file TRTDigSettings.cxx.

214 {
215
216 std::map <std::string,doubleparameter>::iterator itd = m_doubleparMap.begin();
217 std::map <std::string,doubleparameter>::iterator itdE = m_doubleparMap.end();
218
219 for (;itd!=itdE;++itd) {
220 alg->declareProperty(std::string("Override_")+itd->first, itd->second.valueSetByUser );
221 }
222
223 std::map <std::string,intboolparameter>::iterator itib = m_intboolparMap.begin();
224 std::map <std::string,intboolparameter>::iterator itibE = m_intboolparMap.end();
225
226 for (;itib!=itibE;++itib) {
227 alg->declareProperty(std::string("Override_")+itib->first, itib->second.valueSetByUser );
228 }
229}
std::map< std::string, doubleparameter > m_doubleparMap
Map of settable parameters (double)
std::map< std::string, intboolparameter > m_intboolparMap
Map of settable parameters (int & bool)

◆ addPropertiesForOverrideableParameters() [2/2]

void TRTDigSettings::addPropertiesForOverrideableParameters ( AlgTool * algt)

Add properties for overrideable parameters - tool version.

Definition at line 232 of file TRTDigSettings.cxx.

232 {
233
234 std::map <std::string,doubleparameter>::iterator itd = m_doubleparMap.begin();
235 std::map <std::string,doubleparameter>::iterator itdE = m_doubleparMap.end();
236
237 for (;itd!=itdE;++itd) {
238 algt->declareProperty(std::string("Override_")+itd->first, itd->second.valueSetByUser );
239 }
240
241 std::map <std::string,intboolparameter>::iterator itib = m_intboolparMap.begin();
242 std::map <std::string,intboolparameter>::iterator itibE = m_intboolparMap.end();
243
244 for (;itib!=itibE;++itib) {
245 algt->declareProperty(std::string("Override_")+itib->first, itib->second.valueSetByUser );
246 }
247
248}

◆ attenuationLength()

double TRTDigSettings::attenuationLength ( ) const

◆ averageNoiseLevel()

double TRTDigSettings::averageNoiseLevel ( ) const

Get average noise level.

◆ cosmicFlag()

unsigned int TRTDigSettings::cosmicFlag ( ) const

Get flag used for cosmics runs.

◆ crossTalkNoiseLevel()

double TRTDigSettings::crossTalkNoiseLevel ( ) const

Get average cross talk noise level.

◆ crossTalkNoiseLevelOtherEnd()

double TRTDigSettings::crossTalkNoiseLevelOtherEnd ( ) const

◆ defineNewBoolVariable()

void TRTDigSettings::defineNewBoolVariable ( const std::string & name,
bool * datamember,
const std::string & description )
private

Define new bool variable.

Definition at line 367 of file TRTDigSettings.cxx.

367 {
368 //sanity checks:
369 if (m_intboolparMap.find(name)!=m_intboolparMap.end() || m_doubleparMap.find(name)!=m_doubleparMap.end()) {
370 ATH_MSG_FATAL("TRTDigSettings: Multiple definitions of "<<name);
371 return;
372 }
373
375
376 p.description = description;
377 p.directvaraddress_int = nullptr;
378 p.directvaraddress_uint = nullptr;
379 p.directvaraddress_bool = datamember;
380 p.okrange_low = 0;
381 p.okrange_high = 1;
382 p.valueSetByUser = m_propertyNotSetMagicNumber_int;
383
385
386}
#define ATH_MSG_FATAL(x)
std::string description
glabal timer - how long have I taken so far?
Definition hcg.cxx:91
Settable parameter, int and bool.

◆ defineNewIntVariable()

void TRTDigSettings::defineNewIntVariable ( const std::string & name,
int * datamember,
const std::string & description,
int lowrange,
int highrange )
private

Define new int variable.

Definition at line 340 of file TRTDigSettings.cxx.

341 {
342 //sanity checks:
343 if (m_intboolparMap.find(name)!=m_intboolparMap.end() || m_doubleparMap.find(name)!=m_doubleparMap.end()) {
344 ATH_MSG_FATAL("TRTDigSettings: Multiple definitions of "<<name);
345 return;
346 }
347 if (lowrange > highrange || lowrange<=m_propertyNotSetMagicNumber_int ) {
348 ATH_MSG_FATAL("TRTDigSettings: Problem in range of par "<<name);
349 return;
350 }
351
353
354 p.description = description;
355 p.directvaraddress_int = datamember;
356 p.directvaraddress_uint = nullptr;
357 p.directvaraddress_bool = nullptr;
358 p.okrange_low = lowrange;
359 p.okrange_high = highrange;
360 p.valueSetByUser = m_propertyNotSetMagicNumber_int;
361
363
364}

◆ defineNewUIntVariable()

void TRTDigSettings::defineNewUIntVariable ( const std::string & name,
unsigned int * datamember,
const std::string & description,
unsigned int lowrange,
unsigned int highrange )
private

Define new unsigned int variable.

Definition at line 313 of file TRTDigSettings.cxx.

314 {
315 //sanity checks:
316 if (m_intboolparMap.find(name)!=m_intboolparMap.end() || m_doubleparMap.find(name)!=m_doubleparMap.end()) {
317 ATH_MSG_FATAL("TRTDigSettings: Multiple definitions of "<<name);
318 return;
319 }
320 if (lowrange > highrange ) {
321 ATH_MSG_FATAL("TRTDigSettings: Problem in range of par "<<name);
322 return;
323 }
324
326
327 p.description = description;
328 p.directvaraddress_int = nullptr;
329 p.directvaraddress_uint = datamember;
330 p.directvaraddress_bool = nullptr;
331 p.okrange_low = static_cast<int>(lowrange);
332 p.okrange_high = static_cast<int>(highrange);
333 p.valueSetByUser = m_propertyNotSetMagicNumber_int;
334
336
337}

◆ defineNewVariable()

void TRTDigSettings::defineNewVariable ( const std::string & name,
double * datamember,
const std::string & description,
const std::string & unitname,
double unitval,
double lowrange,
double highrange )
private

Define new double variable.

Definition at line 286 of file TRTDigSettings.cxx.

287 {
288
289 //sanity checks:
290 if (m_intboolparMap.find(name)!=m_intboolparMap.end() || m_doubleparMap.find(name)!=m_doubleparMap.end()) {
291 ATH_MSG_FATAL("TRTDigSettings: Multiple definitions of "<<name);
292 return;
293 }
294 if (lowrange > highrange || lowrange*unitval<=m_propertyNotSetMagicNumber ) {
295 ATH_MSG_FATAL("TRTDigSettings: Problem in range of par "<<name);
296 return;
297 }
298
300 p.description = description;
301 p.directvaraddress = datamember;
302 p.unitname = unitname;
303 p.unit = unitval;
304 p.okrange_low = lowrange*unitval;
305 p.okrange_high = highrange*unitval;
306 p.valueSetByUser = m_propertyNotSetMagicNumber;
307
309
310}
Settable parameter, double.

◆ defineVariables()

void TRTDigSettings::defineVariables ( )
private

Define settable variables.

Definition at line 58 of file TRTDigSettings.cxx.

58 {
59
60 //The ranges of allowed values are pretty wide. If parameters are outside we will assume something is wrong.
61
62 //doubles:
63 defineNewVariable("ionisationPotential", &m_ionisationPotential, "Ionisation potential", "eV",CLHEP::eV,1.0,50.0);
64 defineNewVariable("ionisationPotentialArgon", &m_ionisationPotentialArgon, "Ionisation potential Argon", "eV",CLHEP::eV,1.0,50.0);
65 defineNewVariable("ionisationPotentialKrypton",&m_ionisationPotentialKrypton,"Ionisation potential Krypton","eV",CLHEP::eV,1.0,50.0);
66 defineNewVariable("smearingFactor", &m_smearingFactor, "Cluster energy smearing factor","", 1,0.1,1.0);
67 defineNewVariable("smearingFactorArgon", &m_smearingFactorArgon, "Cluster energy smearing factor Argon","", 1,0.1,1.0);
68 defineNewVariable("smearingFactorKrypton", &m_smearingFactorKrypton, "Cluster energy smearing factor Krypton","",1,0.1,1.0);
69 defineNewVariable("timeInterval", &m_timeInterval, "Time interval covered by each digit","ns",CLHEP::ns,1,200);
70 defineNewVariable("minDiscriminatorWidth", &m_minDiscriminatorWidth, "Minimum discriminator time over threshold","ns",CLHEP::ns,0.5,20.0);
71 defineNewVariable("discriminatorSettlingTime", &m_discriminatorSettlingTime, "Discriminator settling time", "ns",CLHEP::ns,0.5,20.0);
72 defineNewVariable("discriminatorDeadTime", &m_discriminatorDeadTime, "Discriminator dead time", "ns",CLHEP::ns,0.5,20.0);
73 defineNewVariable("TrtRangeCutProperty", &m_trtRangeCutProperty, "Electrons range cut in TRT xenon simulation","mm",CLHEP::mm,0.05,30.00);
74
75 // LT Bar
76 defineNewVariable("lowThresholdBar", &m_lowThresholdBar, "Low Threshold Barrel", "eV",CLHEP::eV,50.0,500.0);
77 defineNewVariable("lowThresholdBarArgon", &m_lowThresholdBarArgon, "Low Threshold Barrel Argon", "eV",CLHEP::eV,50.0,500.0);
78 defineNewVariable("lowThresholdBarKrypton",&m_lowThresholdBarKrypton,"Low Threshold Barrel Krypton", "eV",CLHEP::eV,50.0,500.0);
79 // LT EC
80 defineNewVariable("lowThresholdEC", &m_lowThresholdEC, "Low Threshold end-cap", "eV",CLHEP::eV,50.0,500.0);
81 defineNewVariable("lowThresholdECArgon", &m_lowThresholdECArgon, "Low Threshold end-cap Argon", "eV",CLHEP::eV,50.0,500.0);
82 defineNewVariable("lowThresholdECKrypton", &m_lowThresholdECKrypton, "Low Threshold end-cap Krypton","eV",CLHEP::eV,50.0,500.0);
83 // HT Short
84 defineNewVariable("highThresholdBarShort", &m_highThresholdBarShort, "High Threshold short barrel straws", "keV",CLHEP::keV,0.3,10.0);
85 defineNewVariable("highThresholdBarShortArgon", &m_highThresholdBarShortArgon, "High Threshold short barrel straws Argon", "keV",CLHEP::keV,0.3,10.0);
86 defineNewVariable("highThresholdBarShortKrypton",&m_highThresholdBarShortKrypton,"High Threshold short barrel straws Krypton","keV",CLHEP::keV,0.3,10.0);
87 // HT Long
88 defineNewVariable("highThresholdBarLong", &m_highThresholdBarLong, "High Threshold long barrel straws", "keV",CLHEP::keV,0.3,10.0);
89 defineNewVariable("highThresholdBarLongArgon", &m_highThresholdBarLongArgon, "High Threshold long barrel straws Argon", "keV",CLHEP::keV,0.3,10.0);
90 defineNewVariable("highThresholdBarLongKrypton",&m_highThresholdBarLongKrypton,"High Threshold long barrel straws Krypton","keV",CLHEP::keV,0.3,10.0);
91 // HT EC-A
92 defineNewVariable("highThresholdECAwheels", &m_highThresholdECAwheels, "High Threshold A type wheels", "keV",CLHEP::keV,0.3,10.0);
93 defineNewVariable("highThresholdECAwheelsArgon", &m_highThresholdECAwheelsArgon, "High Threshold A type wheels Argon", "keV",CLHEP::keV,0.3,10.0);
94 defineNewVariable("highThresholdECAwheelsKrypton",&m_highThresholdECAwheelsKrypton,"High Threshold A type wheels Krypton","keV",CLHEP::keV,0.3,10.0);
95 // HT EC-B
96 defineNewVariable("highThresholdECBwheels", &m_highThresholdECBwheels, "High Threshold B type wheels", "keV",CLHEP::keV,0.3,10.0);
97 defineNewVariable("highThresholdECBwheelsArgon", &m_highThresholdECBwheelsArgon, "High Threshold B type wheels Argon", "keV",CLHEP::keV,0.3,10.0);
98 defineNewVariable("highThresholdECBwheelsKrypton",&m_highThresholdECBwheelsKrypton,"High Threshold B type wheels Krypton","keV",CLHEP::keV,0.3,10.0);
99
100 defineNewVariable("innerRadiusOfStraw",&m_innerRadiusOfStraw,"Inner radius of straw","mm",CLHEP::mm,1.0,3.0); // 2.0 mm
101 defineNewVariable("outerRadiusOfWire",&m_outerRadiusOfWire,"Outer radius of wire","micrometer",CLHEP::micrometer,5.0,40.0); // 0.0155 mm
102 defineNewVariable("lengthOfDeadRegion",&m_lengthOfDeadRegion,"Length of dead region at straw ends","mm",CLHEP::mm,1.0,3.0);
103 defineNewVariable("signalPropagationSpeed",&m_signalPropagationSpeed,"Speed of signal propagation along wire","c",CLHEP::c_light,0.1,1.0);
104 defineNewVariable("distanceToTimeFactor",&m_distanceToTimeFactor,"Fudge factor changing assumed particle propagation speed in time corr. calculations","",1.0,0.1,10.0);
105 defineNewVariable("maxVertexDisplacement",&m_maxVertexDisplacement,"Maximum vertex displacement","cm",CLHEP::cm,0.0,50.0);
106 defineNewVariable("timeOffsetCalcVertexX",&m_timeOffsetCalcVertexX,"X coord. of point where particles are assumed to originate from for time-shift","m",CLHEP::m,-150.0,150.0);
107 defineNewVariable("timeOffsetCalcVertexY",&m_timeOffsetCalcVertexY,"Y coord. of point where particles are assumed to originate from for time-shift","m",CLHEP::m,-150.0,150.0);
108 defineNewVariable("timeOffsetCalcVertexZ",&m_timeOffsetCalcVertexZ,"Z coord. of point where particles are assumed to originate from for time-shift","m",CLHEP::m,-150.0,150.0);
109 defineNewVariable("pileUpSDOsMinEkin",&m_pileUpSDOsMinEkin,"Minimum kinetic energy for pile-up MC-truth (0.0=all, 999TeV=none)","GeV",CLHEP::GeV,0.0,999.0*CLHEP::TeV);
110 defineNewVariable("trEfficiencyBarrel",&m_trEfficiencyBarrel,"Transition radiation efficiency barrel","%",0.01,0.0,100.0);
111 defineNewVariable("trEfficiencyEndCapA",&m_trEfficiencyEndCapA,"Transition radiation efficiency endcap A","%",0.01,0.0,100.0);
112 defineNewVariable("trEfficiencyEndCapB",&m_trEfficiencyEndCapB,"Transition radiation efficiency endcap B","%",0.01,0.0,100.0);
113 defineNewVariable("trEfficiencyBarrelArgon",&m_trEfficiencyBarrelArgon,"Transition radiation efficiency barrel Argon","%",0.01,0.0,100.0);
114 defineNewVariable("trEfficiencyEndCapAArgon",&m_trEfficiencyEndCapAArgon,"Transition radiation efficiency endcap A Argon","%",0.01,0.0,100.0);
115 defineNewVariable("trEfficiencyEndCapBArgon",&m_trEfficiencyEndCapBArgon,"Transition radiation efficiency endcap B Argon","%",0.01,0.0,100.0);
116 defineNewVariable("trEfficiencyBarrelKrypton",&m_trEfficiencyBarrelKrypton,"Transition radiation efficiency barrel Krypton","%",0.01,0.0,100.0);
117 defineNewVariable("trEfficiencyEndCapAKrypton",&m_trEfficiencyEndCapAKrypton,"Transition radiation efficiency endcap A Krypton","%",0.01,0.0,100.0);
118 defineNewVariable("trEfficiencyEndCapBKrypton",&m_trEfficiencyEndCapBKrypton,"Transition radiation efficiency endcap B Krypton","%",0.01,0.0,100.0);
119 defineNewVariable("fastElectronicsNoisePulseDistance",&m_fastElectronicsNoisePulseDistance,"Fast electronics noise-pulse distance","ns",CLHEP::ns,0.01,20.0);
120 defineNewVariable("slowPeriodicNoisePulseDistance",&m_slowPeriodicNoisePulseDistance,"Slow periodic electronics noise-pulse distance","ns",CLHEP::ns,1.0,500.0);
121 defineNewVariable("slowPeriodicNoisePulseFraction",&m_slowPeriodicNoisePulseFraction,"Fraction of slow periodic pulses","%",0.01,0.0,1.0);
122 defineNewVariable("averageNoiseLevel",&m_averageNoiseLevel,"Average noise level used for fake cond. map","%",0.01,0.0,10.0);
123 defineNewVariable("crossTalkNoiseLevel",&m_crosstalkNoiseLevel,"Average crosstalk noise level used for fake cond. map","%",0.01,0.0,100.0);
124 defineNewVariable("crossTalkNoiseLevelOtherEnd",&m_crosstalkNoiseLevelOtherEnd,"Average crosstalk noise level on the other end as straws with pad hits","%",0.01,0.0,100.0);
125 defineNewVariable("relativeLowThresholdFluctuation",&m_relativeLowThresholdFluctuation,"Relative LT fluct. (evt to evt & straw to straw)","%",0.01,0.0,35.0);
126 defineNewVariable("relativeHighThresholdFluctuation",&m_relativeHighThresholdFluctuation,"Relative HT fluct. (evt to evt & straw to straw)","%",0.01,0.0,35.0);
127 defineNewVariable("solenoidFieldStrength",&m_solenoidFieldStrength,"Solenoid Field Strength (assume perfect uniform field)","T",CLHEP::tesla,0.0,3.0);
128 defineNewVariable("jitterTimeOffset",&m_jitterTimeOffset,"Jitter time offset (simulate lack of cosmic bunchcrossing time","ns",CLHEP::ns,0.0,25.0);
129 defineNewVariable("attenuationLength",&m_attenuationLength,"Signal attenuation length in the wire","cm",CLHEP::cm,100.0,700.0);
130
131 //unsigned ints:
132 defineNewUIntVariable("numberOfBins",&m_numberOfBins,"Number of internal bins in time interval covered by each digit (must be whole multiple of numberOfBinsInEncodingBin)",24,480);
133 defineNewUIntVariable("numberOfBinsInEncodingBin",&m_numberOfBinsInEncodingBin,"Number of bins in each encoding bin in digit",1,20);
134 defineNewUIntVariable("numberOfCrossingsBeforeMain",&m_numberOfCrossingsBeforeMain,"Number of crossings before main event",0,50);
135 defineNewUIntVariable("cosmicFlag",&m_cosmicFlag,"Flag for masking out certain barrel modules for the cosmic runs",0,3);
136 defineNewUIntVariable("storeSDO",&m_storeSDO,"Define the time range in which to store the SDOs",0,2);
137
138 //bools:
139 defineNewBoolVariable("timeCorrection",&m_timeCorrection,"Corrections due to time of flight and wire-propagation times (false for beamType='cosmics')");
140 defineNewBoolVariable("noiseInUnhitStraws",&m_noiseInUnhitStraws,"Noise in straws not passed by sim. particles");
141 defineNewBoolVariable("noiseInSimhits",&m_noiseInSimhits,"Noise in straws passed by sim. particles");
142 defineNewBoolVariable("electronicsAreAtFarEnd",&m_electronicsAreAtFarEnd,"Electronics assumed to be at the straw ends furthest from primary sim. vertex");
143 defineNewBoolVariable("timeshiftsSymmetricForPhiSectors",&m_timeshiftsSymmetricForPhiSectors,"Electronics Time offsets are symmetric from phi-sector to phi-sector");
144 defineNewBoolVariable("isCTB",&m_isCTB,"Flag set for CTB digitization");
145 defineNewBoolVariable("killEndCap",&m_killEndCap,"Kill all EndCap straws");
146 defineNewBoolVariable("killBarrel",&m_killBarrel,"Kill all Barrel straws");
147 defineNewBoolVariable("doCosmicTimingPit",&m_doCosmicTimingPit,"Do cosmic timing corresponding to pit setup");
148 defineNewBoolVariable("doCrosstalk",&m_doCrosstalk,"Do crosstalk noise simulation");
149 defineNewBoolVariable("useMagneticFieldMap",&m_useMagneticFieldMap,"Use magnetic field map in drifttime calculation");
150 defineNewBoolVariable("useAttenuation",&m_useAttenuation,"Simulate attenuation of signal strength depending on propagation length in wire");
151 defineNewBoolVariable("getT0FromData",&m_getT0FromData,"Shift the individual straw t0 according to data (conditions database)");
152 defineNewBoolVariable("isOverlay",&m_isOverlay,"Flag set for overlay jobs");
153
154 //ints:
155
156 // Time shifts
157 defineNewIntVariable("htT0shiftBarShort", &m_htT0shiftBarShort, "HT T0 shift in 0.78125 ns steps, short barrel straws",-32,32);
158 defineNewIntVariable("htT0shiftBarLong", &m_htT0shiftBarLong, "HT T0 shift in 0.78125 ns steps, long barrel straws", -32,32);
159 defineNewIntVariable("htT0shiftECAwheels", &m_htT0shiftECAwheels, "HT T0 shift in 0.78125 ns steps, A type wheels", -32,32);
160 defineNewIntVariable("htT0shiftECBwheels", &m_htT0shiftECBwheels, "HT T0 shift in 0.78125 ns steps, B type wheels", -32,32);
161
162 defineNewIntVariable("ltT0shiftBarShortXe", &m_ltT0shiftBarShortXe, "LT T0 shift in 0.78125 ns steps, short barrel straws, Xe",-32,32);
163 defineNewIntVariable("ltT0shiftBarShortKr", &m_ltT0shiftBarShortKr, "LT T0 shift in 0.78125 ns steps, short barrel straws, Kr",-32,32);
164 defineNewIntVariable("ltT0shiftBarShortAr", &m_ltT0shiftBarShortAr, "LT T0 shift in 0.78125 ns steps, short barrel straws, Ar",-32,32);
165 defineNewIntVariable("ltT0shiftBarLongXe", &m_ltT0shiftBarLongXe, "LT T0 shift in 0.78125 ns steps, long barrel straws, Xe", -32,32);
166 defineNewIntVariable("ltT0shiftBarLongKr", &m_ltT0shiftBarLongKr, "LT T0 shift in 0.78125 ns steps, long barrel straws, Kr", -32,32);
167 defineNewIntVariable("ltT0shiftBarLongAr", &m_ltT0shiftBarLongAr, "LT T0 shift in 0.78125 ns steps, long barrel straws, Ar", -32,32);
168 defineNewIntVariable("ltT0shiftECAwheelsXe",&m_ltT0shiftECAwheelsXe,"LT T0 shift in 0.78125 ns steps, A type wheels, Xe", -32,32);
169 defineNewIntVariable("ltT0shiftECAwheelsKr",&m_ltT0shiftECAwheelsKr,"LT T0 shift in 0.78125 ns steps, A type wheels, Kr", -32,32);
170 defineNewIntVariable("ltT0shiftECAwheelsAr",&m_ltT0shiftECAwheelsAr,"LT T0 shift in 0.78125 ns steps, A type wheels, Ar", -32,32);
171 defineNewIntVariable("ltT0shiftECBwheelsXe",&m_ltT0shiftECBwheelsXe,"LT T0 shift in 0.78125 ns steps, B type wheels, Xe", -32,32);
172 defineNewIntVariable("ltT0shiftECBwheelsKr",&m_ltT0shiftECBwheelsKr,"LT T0 shift in 0.78125 ns steps, B type wheels, Kr", -32,32);
173 defineNewIntVariable("ltT0shiftECBwheelsAr",&m_ltT0shiftECBwheelsAr,"LT T0 shift in 0.78125 ns steps, B type wheels, Ar", -32,32);
174
175}
double m_attenuationLength
double m_highThresholdECBwheelsKrypton
High threshold discriminator setting Krypton.
double m_trEfficiencyBarrelArgon
Transition Radiation efficiency, barrel, Argon.
double m_relativeHighThresholdFluctuation
Relative high threshold fluctuation.
double m_discriminatorDeadTime
Discriminator dead time.
void defineNewBoolVariable(const std::string &name, bool *datamember, const std::string &description)
Define new bool variable.
int m_ltT0shiftBarShortKr
LT T0 shift.
double m_trEfficiencyEndCapA
Transition Radiation efficiency, end cap A.
double m_timeOffsetCalcVertexX
x-coord.
bool m_noiseInSimhits
Simulate noise in hit straws.
unsigned int m_numberOfCrossingsBeforeMain
For pileup: BCs before main event.
double m_slowPeriodicNoisePulseDistance
Slow periodic noise pulse distance (time)
double m_timeOffsetCalcVertexY
y-coord.
double m_outerRadiusOfWire
Radius of drift wire.
double m_highThresholdECBwheels
High threshold discriminator setting.
double m_trEfficiencyEndCapB
Transition Radiation efficiency, end cap B.
double m_trEfficiencyBarrelKrypton
Transition Radiation efficiency, barrel, Krypton.
double m_distanceToTimeFactor
Fudge factor: time to distance.
double m_smearingFactorArgon
Cluster energy smearing factor for Argon mixture.
double m_trEfficiencyEndCapAArgon
Transition Radiation efficiency, end cap A, Argon.
double m_ionisationPotential
Mean ionisation potential.
double m_highThresholdBarShort
High threshold discriminator setting.
double m_crosstalkNoiseLevel
Average cross talk noise level.
bool m_timeshiftsSymmetricForPhiSectors
Time offset assumed phi symmetric.
double m_timeOffsetCalcVertexZ
z-coord.
bool m_isOverlay
Doing overlay.
double m_highThresholdECAwheelsArgon
High threshold discriminator setting Argon.
unsigned int m_storeSDO
Time window in which to store SDOs.
double m_jitterTimeOffset
Event time not correlated with LHC clock.
double m_highThresholdBarLongKrypton
High threshold discriminator setting Krypton.
double m_slowPeriodicNoisePulseFraction
Slow periodic noise pulse fraction.
double m_highThresholdECAwheelsKrypton
High threshold discriminator setting Krypton.
double m_lowThresholdBarKrypton
Low threshold discriminator setting for Krypton mixture.
bool m_electronicsAreAtFarEnd
Electronics assumed at far end of straw.
bool m_doCrosstalk
Crosstalk noise.
double m_highThresholdECBwheelsArgon
High threshold discriminator setting Argon.
double m_relativeLowThresholdFluctuation
Relative low threshold fluctuation.
double m_lowThresholdBar
Low threshold discriminator setting.
double m_signalPropagationSpeed
Signal propagation time in signal wire.
double m_lowThresholdBarArgon
Low threshold discriminator setting for Argon mixture.
double m_trEfficiencyEndCapBArgon
Transition Radiation efficiency, end cap B, Argon.
double m_highThresholdBarLongArgon
High threshold discriminator setting Argon.
double m_trEfficiencyEndCapBKrypton
Transition Radiation efficiency, end cap B, Krypton.
double m_lowThresholdECKrypton
Low threshold discriminator setting for Krypton mixture.
double m_highThresholdBarLong
High threshold discriminator setting.
double m_maxVertexDisplacement
Max.
double m_trEfficiencyBarrel
Transition Radiation efficiency, barrel.
double m_averageNoiseLevel
Average noise level.
int m_htT0shiftBarLong
HT T0 shift.
bool m_isCTB
Data is from CTB (Combined Test Beam)
unsigned int m_numberOfBinsInEncodingBin
No.
void defineNewVariable(const std::string &name, double *datamember, const std::string &description, const std::string &unitname, double unitval, double lowrange, double highrange)
Define new double variable.
double m_innerRadiusOfStraw
Inner radius of straw.
bool m_timeCorrection
Corrrect for flight and wire propagation delays.
double m_ionisationPotentialArgon
Mean ionisation potential for Argon mixture.
double m_highThresholdBarShortKrypton
High threshold discriminator setting Krypton.
double m_discriminatorSettlingTime
Discriminator settling time.
double m_smearingFactor
Cluster energy smearing factor.
double m_lowThresholdECArgon
Low threshold discriminator setting for Argon mixture.
unsigned int m_numberOfBins
No.
unsigned int m_cosmicFlag
Data is cosmics.
double m_lengthOfDeadRegion
Length of dead region at straw end.
bool m_noiseInUnhitStraws
Simulate noise in unhit straws.
double m_trtRangeCutProperty
Electrons xenon range cut in TRT simulation.
double m_lowThresholdEC
Low threshold discriminator setting.
double m_ionisationPotentialKrypton
Mean ionisation potential for Krypton mixture.
bool m_killBarrel
Disable barrel.
double m_pileUpSDOsMinEkin
Min.
double m_timeInterval
Time interval covered by each digit.
double m_fastElectronicsNoisePulseDistance
Fast electronics noise pulse distance (time)
void defineNewUIntVariable(const std::string &name, unsigned int *datamember, const std::string &description, unsigned int lowrange, unsigned int highrange)
Define new unsigned int variable.
bool m_killEndCap
Disable end cap.
double m_solenoidFieldStrength
Solenoid field strength.
double m_highThresholdECAwheels
High threshold discriminator setting.
double m_crosstalkNoiseLevelOtherEnd
Average cross talk noise level - other end.
double m_trEfficiencyEndCapAKrypton
Transition Radiation efficiency, end cap A, Krypton.
double m_minDiscriminatorWidth
Min.
bool m_doCosmicTimingPit
Cosmics pit setup.
void defineNewIntVariable(const std::string &name, int *datamember, const std::string &description, int lowrange, int highrange)
Define new int variable.
double m_smearingFactorKrypton
Cluster energy smearing factor for Krypton mixture.
double m_highThresholdBarShortArgon
High threshold discriminator setting Argon.

◆ digVers()

int TRTDigSettings::digVers ( ) const

◆ digVersion()

unsigned int TRTDigSettings::digVersion ( ) const

◆ discriminatorDeadTime()

double TRTDigSettings::discriminatorDeadTime ( ) const

Get discriminator dead time.

◆ discriminatorSettlingTime()

double TRTDigSettings::discriminatorSettlingTime ( ) const

Get discriminator settling time.

◆ distanceToTimeFactor()

double TRTDigSettings::distanceToTimeFactor ( ) const

Get "distanceToTimeFactor" (fugde factor)

◆ doCosmicTimingPit()

bool TRTDigSettings::doCosmicTimingPit ( ) const

Cosmics timing corresponding to pit setup?

◆ doCrosstalk()

bool TRTDigSettings::doCrosstalk ( ) const

Switch on crosstalk noise based on Cosmic 08 measurements.

◆ electronicsAreAtFarEnd()

bool TRTDigSettings::electronicsAreAtFarEnd ( ) const

Query whether electronics is assumed to be at far end of straw.

◆ fastElectronicsNoisePulseDistance()

double TRTDigSettings::fastElectronicsNoisePulseDistance ( ) const

Get fast electronics noise pulse distance (time)

◆ fillDefaults()

void TRTDigSettings::fillDefaults ( const InDetDD::TRT_DetectorManager * detmgr)
private

Fill default values into settable variables.

Definition at line 389 of file TRTDigSettings.cxx.

389 {
390
392
393 bool gasok = false;
394 if ( activegastype == InDetDD::TRT_DetectorManager::newgas ) gasok = true;
395
396 if (!gasok) {
397 ATH_MSG_WARNING("Active gas setting seems incompatible with dig. version number.");
398 ATH_MSG_WARNING("If not deliberate, it might indicate a configuration or DB problem.");
399 }
400
401 // miscellaneous
402 m_solenoidFieldStrength = 2.0*CLHEP::tesla;
403
404 // falses (unlikely to change)
405 m_doCrosstalk = false; //Crosstalk noise switched off by default (so far). Switch on by doCrosstalk() flag in j.o.
406 m_crosstalkNoiseLevel = 0.01; // In cosmics: tuned to 0.01
407 m_crosstalkNoiseLevelOtherEnd = 0.01;// In cosmics: tuned to 0.01
408 m_doCosmicTimingPit = false;
409 m_getT0FromData=false;
410 m_killEndCap = false;
411 m_killBarrel = false;
412 m_cosmicFlag=0;
413 m_isCTB = false;
414 m_isOverlay=false;
415 m_noiseInUnhitStraws = false;
416
417 // trues
418 m_timeCorrection = true;
419 m_noiseInSimhits = true;
422 m_useAttenuation = true;
424
425 // output
426 m_timeInterval = 75*CLHEP::ns;
427 m_numberOfBins = 96;
429 m_storeSDO = 2;
430 m_numberOfCrossingsBeforeMain = 2; // allows migration of signal in readout window
431 m_pileUpSDOsMinEkin = 0.0*CLHEP::MeV; //lowered for lowPt tracking
432
433 // speed
434 m_signalPropagationSpeed = 225.0*CLHEP::mm/CLHEP::ns;
436
437 // time
438 // Fred: It would seem to me that the timing base for both low and high hits could
439 // be slightly different for the A & C sides and it would be wise to allow
440 // for the possibility in the code [FIXME].
441 m_minDiscriminatorWidth = 1.1*CLHEP::ns;
442 m_discriminatorSettlingTime = 1.1*CLHEP::ns;
443 m_discriminatorDeadTime = 6.0*CLHEP::ns;
444 m_jitterTimeOffset = 0.0*CLHEP::ns;
445
446 // HT middle-bit fraction tune; KyungEon.Choi@cern.ch
447 // https://indico.cern.ch/event/389682/contribution/5/material/slides/0.pdf
448 m_htT0shiftBarShort = -6; // Timing shift applied just before discrimination (steps of 0.78125 ns).
449 m_htT0shiftBarLong = -6; // It affects only HL threshold timing. The purpose is to
450 m_htT0shiftECAwheels = -6; // tune the middle HT bit fraction so that HT probability
451 m_htT0shiftECBwheels = -6; // can be based on the middle bit only at high occupancy.
452
453 // LT timimg shift in steps of 0.78125 ns.
466
467 // length
468 m_innerRadiusOfStraw = 2.0*CLHEP::mm;
469 m_outerRadiusOfWire = 0.0155*CLHEP::mm;
470 m_lengthOfDeadRegion = 3.0*CLHEP::mm;
471 m_attenuationLength = 400.*CLHEP::cm;
473 m_timeOffsetCalcVertexX = 0.0*CLHEP::cm;
474 m_timeOffsetCalcVertexY = 0.0*CLHEP::cm;
475 m_timeOffsetCalcVertexZ = 0.0*CLHEP::cm;
476
477 // (Xenon)
478 // HT fine-tune on 2011 data tagged as 00-11-07
479 // HT middle-bit fraction tune - wider shaping function; 01-00-24
480 // Delta-ray suppression tune tagged as 01-01-03
481 // Delta-ray suppression tune with backward compatibility with non suppressed delta-ray simulation tagged as 01-01-07
482 // Delta-ray suppression HT middle-bit fraction tune - 2015 data; 01-01-16
483 // HT rough-tune on 2022 data R23 for mc23e production
484 m_trtRangeCutProperty = m_doubleparMap["TrtRangeCutProperty"].valueSetByUser;//To avoid overwritting warning message and to use python configured value
485 if(std::abs(m_trtRangeCutProperty-0.05) >= std::numeric_limits<double>::epsilon()){
486 m_lowThresholdBar = 0.260*CLHEP::keV;
487 m_lowThresholdEC = 0.275*CLHEP::keV;
488 m_highThresholdBarShort = 5.195*CLHEP::keV;
489 m_highThresholdBarLong = 4.751*CLHEP::keV;
490 m_highThresholdECAwheels = 4.941*CLHEP::keV;
491 m_highThresholdECBwheels = 4.868*CLHEP::keV;
492 m_trEfficiencyBarrel = 0.774;
493 m_trEfficiencyEndCapA = 0.909;
494 m_trEfficiencyEndCapB = 0.809;
495 }
496 else {
497 m_lowThresholdBar = 0.260*CLHEP::keV;
498 m_lowThresholdEC = 0.275*CLHEP::keV;
499 m_highThresholdBarShort = 6.576*CLHEP::keV;
500 m_highThresholdBarLong = 6.016*CLHEP::keV;
501 m_highThresholdECAwheels = 6.390*CLHEP::keV;
502 m_highThresholdECBwheels = 6.074*CLHEP::keV;
506 ATH_MSG_WARNING("Setting up non suppressed double counted delta-ray xenon tune");
507 }
508
509 // (Argon) Initial tuning by Artem July 2014. See log file. Requires fine tuning.
510 // HT middle-bit fraction tune - wider shaping function; 01-00-24
511 // HT middle-bit fraction tune - 2015 data; 01-01-16
512 // HT rough-tune on 2022 data R23 for mc23e production (required also overlay correction tune)
513 // Argon LT tune to 2015 data; r22
514 m_lowThresholdBarArgon = 0.100*CLHEP::keV;
515 m_lowThresholdECArgon = 0.100*CLHEP::keV;
516 m_highThresholdBarShortArgon = 2.271*CLHEP::keV;
517 m_highThresholdBarLongArgon = 2.061*CLHEP::keV;
518 m_highThresholdECAwheelsArgon = 2.168*CLHEP::keV;
519 m_highThresholdECBwheelsArgon = 2.089*CLHEP::keV;
523
524 // (Krypton)
525 // Initial implementation in May 2015 - guess; 01-01-00
526 // Tuning from 2015 data by Kevin in April 2016, no LT tune; 01-02-01
527 m_lowThresholdBarKrypton = 0.140*CLHEP::keV;
528 m_lowThresholdECKrypton = 0.150*CLHEP::keV;
529 m_highThresholdBarShortKrypton = 3.07*CLHEP::keV;
530 m_highThresholdBarLongKrypton = 2.90*CLHEP::keV;
531 m_highThresholdECAwheelsKrypton = 3.15*CLHEP::keV;
532 m_highThresholdECBwheelsKrypton = 3.02*CLHEP::keV;
536
537 // Noise
539 m_slowPeriodicNoisePulseDistance = 25.0*CLHEP::ns;
541 m_averageNoiseLevel = 0.02;
544
545 // Clusters
546 m_smearingFactor = 0.4;
549 m_ionisationPotential = 26.0*CLHEP::eV;
550 m_ionisationPotentialArgon = 28.3*CLHEP::eV;
551 m_ionisationPotentialKrypton = 28.3*CLHEP::eV;
552
553}
#define ATH_MSG_WARNING(x)

◆ getT0FromData()

bool TRTDigSettings::getT0FromData ( ) const

◆ highThresholdBarLong()

double TRTDigSettings::highThresholdBarLong ( int strawGasType) const

◆ highThresholdBarShort()

double TRTDigSettings::highThresholdBarShort ( int strawGasType) const

Get discriminator setting for high threshold.

◆ highThresholdECAwheels()

double TRTDigSettings::highThresholdECAwheels ( int strawGasType) const

◆ highThresholdECBwheels()

double TRTDigSettings::highThresholdECBwheels ( int strawGasType) const

◆ htT0shiftBarLong()

int TRTDigSettings::htT0shiftBarLong ( ) const

◆ htT0shiftBarShort()

int TRTDigSettings::htT0shiftBarShort ( ) const

T0 shift for HT.

◆ htT0shiftECAwheels()

int TRTDigSettings::htT0shiftECAwheels ( ) const

◆ htT0shiftECBwheels()

int TRTDigSettings::htT0shiftECBwheels ( ) const

◆ initialize()

void TRTDigSettings::initialize ( const InDetDD::TRT_DetectorManager * detmgr)

Initialize: fill defaults and overwrite by user values where appropriate.

Definition at line 47 of file TRTDigSettings.cxx.

47 {
48
49 //1) Fill defaults based on digversion
50 fillDefaults(detmgr);
51
52 //2) Process overrides.
54
55}
void processOverrides()
Overwrite default values by uses values.
void fillDefaults(const InDetDD::TRT_DetectorManager *detmgr)
Fill default values into settable variables.

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)

◆ innerRadiusOfStraw()

double TRTDigSettings::innerRadiusOfStraw ( ) const

Get inner radius of straw.

◆ ionisationPotential()

double TRTDigSettings::ionisationPotential ( int strawGasType) const

Get ionisation potential.

◆ isCTB()

bool TRTDigSettings::isCTB ( ) const

Query whether CTB (Combined Test Beam 2004) flag is set.

◆ isOverlay()

bool TRTDigSettings::isOverlay ( ) const

Get flag used for overlay.

◆ jitterTimeOffset()

double TRTDigSettings::jitterTimeOffset ( ) const

In cosmics, events not correlated with LHC clock.

◆ killBarrel()

bool TRTDigSettings::killBarrel ( ) const

Is barrel killed.

◆ killEndCap()

bool TRTDigSettings::killEndCap ( ) const

Is end cap killed.

◆ lengthOfDeadRegion()

double TRTDigSettings::lengthOfDeadRegion ( ) const

Get length of dead region at end of straws.

◆ lowThresholdBar()

double TRTDigSettings::lowThresholdBar ( int strawGasType) const

Get discriminator setting for low threshold.

◆ lowThresholdEC()

double TRTDigSettings::lowThresholdEC ( int strawGasType) const

◆ ltT0shiftBarLong()

int TRTDigSettings::ltT0shiftBarLong ( int strawGasType) const

◆ ltT0shiftBarShort()

int TRTDigSettings::ltT0shiftBarShort ( int strawGasType) const

T0 for LT.

◆ ltT0shiftECAwheels()

int TRTDigSettings::ltT0shiftECAwheels ( int strawGasType) const

◆ ltT0shiftECBwheels()

int TRTDigSettings::ltT0shiftECBwheels ( int strawGasType) const

◆ maxVertexDisplacement()

double TRTDigSettings::maxVertexDisplacement ( ) const

Get max vertex displacement.

◆ minDiscriminatorWidth()

double TRTDigSettings::minDiscriminatorWidth ( ) const

Get the minimum width of discriminator.

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 163 of file AthMessaging.h.

164{
165 MsgStream* ms = m_msg_tls.get();
166 if (!ms) {
167 if (!m_initialized.test_and_set()) initMessaging();
168 ms = new MsgStream(m_imsg,m_nm);
169 m_msg_tls.reset( ms );
170 }
171
172 ms->setLevel (m_lvl);
173 return *ms;
174}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 178 of file AthMessaging.h.

179{ return msg() << lvl; }
MsgStream & msg() const
The standard message stream.

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152{
153 if (m_lvl <= lvl) {
154 msg() << lvl;
155 return true;
156 } else {
157 return false;
158 }
159}

◆ noiseInSimhits()

bool TRTDigSettings::noiseInSimhits ( ) const

Query whether simulation of noise in hit straws.

◆ noiseInUnhitStraws()

bool TRTDigSettings::noiseInUnhitStraws ( ) const

Query whether simulation of noise in unhit straws.

◆ numberOfBins()

unsigned int TRTDigSettings::numberOfBins ( ) const

Get number of time bins used for internal shaping of signal.

◆ numberOfBinsInEncodingBin()

unsigned int TRTDigSettings::numberOfBinsInEncodingBin ( ) const

Get number of internal time bins corresponding to one low threshold bit.

◆ numberOfCrossingsBeforeMain()

unsigned int TRTDigSettings::numberOfCrossingsBeforeMain ( ) const

Get number of simulated bunch crossings before main event (pile up)

◆ outerRadiusOfWire()

double TRTDigSettings::outerRadiusOfWire ( ) const

Get radius of signal wire.

◆ pileUpSDOsMinEkin()

double TRTDigSettings::pileUpSDOsMinEkin ( ) const

Get minimum Ekin for pileup track to enter MC-truth.

◆ print()

void TRTDigSettings::print ( const std::string & front = "") const

Printing of TRT digitization settings.

Definition at line 181 of file TRTDigSettings.cxx.

181 {
182
183 std::cout << front << "======= Printing TRT Digitization Settings ======="<<std::endl;
184
185 std::map <std::string,doubleparameter>::const_iterator itd = m_doubleparMap.begin();
186 std::map <std::string,doubleparameter>::const_iterator itdE = m_doubleparMap.end();
187
188 for (;itd!=itdE;++itd) {
189 std::cout << front << itd->second.description<<": "<<(*(itd->second.directvaraddress))/itd->second.unit<<" "<<itd->second.unitname <<std::endl;
190 };
191
192 std::map <std::string,intboolparameter>::const_iterator itib = m_intboolparMap.begin();
193 std::map <std::string,intboolparameter>::const_iterator itibE = m_intboolparMap.end();
194
195 for (;itib!=itibE;++itib) {
196 if (itib->second.directvaraddress_int) {
197 //int
198 std::cout << front << itib->second.description<<": "<<*(itib->second.directvaraddress_int)<<std::endl;
199 } else if (itib->second.directvaraddress_uint) {
200 //unsigned int
201 std::cout << front << itib->second.description<<": "<<*(itib->second.directvaraddress_uint)<<std::endl;
202 } else {
203 //bool
204 assert(itib->second.directvaraddress_bool);
205 std::cout << front << itib->second.description<<": "<<(*(itib->second.directvaraddress_bool)?1:0)<<std::endl;
206 }
207 }
208
209 std::cout << front << "==============================================="<<std::endl;
210
211}

◆ printFlagsForOverrideableParameters()

void TRTDigSettings::printFlagsForOverrideableParameters ( const std::string & front = "") const

Print TRT digitization settings overrideable parameters.

Definition at line 251 of file TRTDigSettings.cxx.

251 {
252
253 std::cout << front << "======= Printing TRT Digitization Settings Overrideable parameters ======="<<std::endl;
254
255 std::map <std::string,doubleparameter>::const_iterator itd = m_doubleparMap.begin();
256 std::map <std::string,doubleparameter>::const_iterator itdE = m_doubleparMap.end();
257
258 for (;itd!=itdE;++itd) {
259 std::cout << front << std::endl;
260 std::cout << front << "Alg. Property: Override_"<<itd->first<<std::endl;
261 std::cout << front << " Type: Double"<<std::endl;
262 std::cout << front << " Range: ["<<itd->second.okrange_low/itd->second.unit<<" "
263 << itd->second.unitname<<", "
264 << itd->second.okrange_high/itd->second.unit<<" "<<itd->second.unitname<<"]"<<std::endl;
265 std::cout << front << " Description: "<<itd->second.description<<std::endl;
266 }
267
268 std::map <std::string,intboolparameter>::const_iterator itib = m_intboolparMap.begin();
269 std::map <std::string,intboolparameter>::const_iterator itibE = m_intboolparMap.end();
270
271 for (;itib!=itibE;++itib) {
272 std::cout << front << std::endl;
273 std::cout << front << "Alg. Property: Override_"<<itib->first<<std::endl;
274 std::cout << front << " Type: Int"<<std::endl;
275 std::cout << front << " Range: ["<<itib->second.okrange_low<<", "
276 << itib->second.okrange_high<<"]"<<std::endl;
277 std::cout << front << " Description: "<<itib->second.description<<std::endl;
278 }
279
280 std::cout << front <<std::endl;
281 std::cout << front << "==============================================="<<std::endl;
282
283}

◆ processOverrides()

void TRTDigSettings::processOverrides ( )
private

Overwrite default values by uses values.

Definition at line 556 of file TRTDigSettings.cxx.

556 {
557
558 bool anyoverrides = false;
559 std::map <std::string,doubleparameter>::iterator itd = m_doubleparMap.begin();
560 std::map <std::string,doubleparameter>::iterator itdE = m_doubleparMap.end();
561
562 for (;itd!=itdE;++itd) {
563 if (itd->second.valueSetByUser != m_propertyNotSetMagicNumber) {
564 if (itd->second.valueSetByUser < itd->second.okrange_low || itd->second.valueSetByUser > itd->second.okrange_high) {
565 ATH_MSG_ERROR("Can not override value of "<<itd->first<<" : New value outside allowed range");
566 } else {
567 if ( static_cast<float>(*(itd->second.directvaraddress)) != static_cast<float>(itd->second.valueSetByUser) ) {
568 ATH_MSG_WARNING("Overriding "<<itd->first<<" flag ("
569 << (*(itd->second.directvaraddress))/itd->second.unit<<" "<<itd->second.unitname<<" -> "
570 << itd->second.valueSetByUser/itd->second.unit<<" "<<itd->second.unitname<<")");
571 *(itd->second.directvaraddress) = itd->second.valueSetByUser;
572 anyoverrides = true;
573 }
574 }
575 }
576 }
577
578 std::map <std::string,intboolparameter>::iterator itib = m_intboolparMap.begin();
579 std::map <std::string,intboolparameter>::iterator itibE = m_intboolparMap.end();
580
581 for (;itib!=itibE;++itib) {
582 if (itib->second.valueSetByUser != m_propertyNotSetMagicNumber_int) {
583 if (itib->second.valueSetByUser < itib->second.okrange_low || itib->second.valueSetByUser > itib->second.okrange_high) {
584 ATH_MSG_ERROR("Can not override value of "<<itib->first<<" : New value outside allowed range");
585 } else {
586 if (itib->second.directvaraddress_int) {
587 //int
588 if ( (*(itib->second.directvaraddress_int)) != itib->second.valueSetByUser ) {
589 ATH_MSG_WARNING("Overriding "<<itib->first<<" flag ("
590 << *(itib->second.directvaraddress_int)<<" -> "<< itib->second.valueSetByUser<<")");
591 *(itib->second.directvaraddress_int) = itib->second.valueSetByUser;
592 anyoverrides = true;
593 }
594 } else if (itib->second.directvaraddress_uint) {
595 //unsigned int
596 if ( (*(itib->second.directvaraddress_uint)) != static_cast<unsigned int>(itib->second.valueSetByUser) ) {
597 ATH_MSG_WARNING("Overriding "<<itib->first<<" flag ("
598 << *(itib->second.directvaraddress_uint)<<" -> "<< itib->second.valueSetByUser<<")");
599 *(itib->second.directvaraddress_uint) = itib->second.valueSetByUser;
600 anyoverrides = true;
601 }
602 } else {
603 //bool
604 assert(itib->second.directvaraddress_bool);
605 if ( (*(itib->second.directvaraddress_bool)) != itib->second.valueSetByUser ) {
606 ATH_MSG_WARNING("Overriding "<<itib->first<<" flag ("
607 << (*(itib->second.directvaraddress_bool)?1:0)<<" -> "
608 << (itib->second.valueSetByUser?1:0)<<")");
609 *(itib->second.directvaraddress_bool) = itib->second.valueSetByUser == 1;
610 anyoverrides = true;
611 }
612 }
613 }
614 }
615 }
616
617 if (anyoverrides)
618 ATH_MSG_WARNING("Settings overridden from joboptions => possible deviation from version defaults.");
619
620}
#define ATH_MSG_ERROR(x)

◆ relativeHighThresholdFluctuation()

double TRTDigSettings::relativeHighThresholdFluctuation ( ) const

Get relative high threshold fluctuations (evt to evt & straw to straw)

◆ relativeLowThresholdFluctuation()

double TRTDigSettings::relativeLowThresholdFluctuation ( ) const

Get relative low threshold fluctuations (evt to evt & straw to straw)

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29{
30 m_lvl = lvl;
31}

◆ signalPropagationSpeed()

double TRTDigSettings::signalPropagationSpeed ( ) const

Get wire signal propagation speed.

◆ slowPeriodicNoisePulseDistance()

double TRTDigSettings::slowPeriodicNoisePulseDistance ( ) const

Get slow periodic noise pulse distance (time)

◆ slowPeriodicNoisePulseFraction()

double TRTDigSettings::slowPeriodicNoisePulseFraction ( ) const

Get slow periodic noise pulse fraction.

◆ smearingFactor()

double TRTDigSettings::smearingFactor ( int strawGasType) const

Get smearing factor.

◆ solenoidFieldStrength()

double TRTDigSettings::solenoidFieldStrength ( ) const

Get solenoid field strength.

◆ storeSDO()

unsigned int TRTDigSettings::storeSDO ( ) const

◆ timeCorrection()

bool TRTDigSettings::timeCorrection ( ) const

Query whether time is corrected for flight and wire propagation delays.

This is false for beamType='cosmics'

◆ timeInterval()

double TRTDigSettings::timeInterval ( ) const

Get time interval covered by each digit.

◆ timeOffsetCalcVertexX()

double TRTDigSettings::timeOffsetCalcVertexX ( ) const

Get x value of point where particles are assumed to originate.

◆ timeOffsetCalcVertexY()

double TRTDigSettings::timeOffsetCalcVertexY ( ) const

Get y value of point where particles are assumed to originate.

◆ timeOffsetCalcVertexZ()

double TRTDigSettings::timeOffsetCalcVertexZ ( ) const

Get x value of point where particles are assumed to originate.

◆ timeshiftsSymmetricForPhiSectors()

bool TRTDigSettings::timeshiftsSymmetricForPhiSectors ( ) const

Query whether time offsets are assumed to be symmetric in phi.

◆ trEfficiencyBarrel()

double TRTDigSettings::trEfficiencyBarrel ( int strawGasType) const

Get assumed Transition Radiation efficiency in barrel.

◆ trEfficiencyEndCapA()

double TRTDigSettings::trEfficiencyEndCapA ( int strawGasType) const

Get assumed Transition Radiation efficiency in end caps.

◆ trEfficiencyEndCapB()

double TRTDigSettings::trEfficiencyEndCapB ( int strawGasType) const

◆ TrtRangeCutProperty()

double TRTDigSettings::TrtRangeCutProperty ( ) const

◆ useAttenuation()

bool TRTDigSettings::useAttenuation ( ) const

◆ useMagneticFieldMap()

bool TRTDigSettings::useMagneticFieldMap ( ) const

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_attenuationLength

double TRTDigSettings::m_attenuationLength = 0.0
private

Definition at line 353 of file TRTDigSettings.h.

◆ m_averageNoiseLevel

double TRTDigSettings::m_averageNoiseLevel = 0.0
private

Average noise level.

Definition at line 344 of file TRTDigSettings.h.

◆ m_cosmicFlag

unsigned int TRTDigSettings::m_cosmicFlag = 0U
private

Data is cosmics.

Definition at line 338 of file TRTDigSettings.h.

◆ m_crosstalkNoiseLevel

double TRTDigSettings::m_crosstalkNoiseLevel = 0.0
private

Average cross talk noise level.

Definition at line 345 of file TRTDigSettings.h.

◆ m_crosstalkNoiseLevelOtherEnd

double TRTDigSettings::m_crosstalkNoiseLevelOtherEnd = 0.0
private

Average cross talk noise level - other end.

Definition at line 346 of file TRTDigSettings.h.

◆ m_discriminatorDeadTime

double TRTDigSettings::m_discriminatorDeadTime = 0.0
private

Discriminator dead time.

Definition at line 255 of file TRTDigSettings.h.

◆ m_discriminatorSettlingTime

double TRTDigSettings::m_discriminatorSettlingTime = 0.0
private

Discriminator settling time.

Definition at line 254 of file TRTDigSettings.h.

◆ m_distanceToTimeFactor

double TRTDigSettings::m_distanceToTimeFactor = 0.0
private

Fudge factor: time to distance.

Definition at line 257 of file TRTDigSettings.h.

◆ m_doCosmicTimingPit

bool TRTDigSettings::m_doCosmicTimingPit = false
private

Cosmics pit setup.

Definition at line 335 of file TRTDigSettings.h.

◆ m_doCrosstalk

bool TRTDigSettings::m_doCrosstalk = false
private

Crosstalk noise.

Definition at line 336 of file TRTDigSettings.h.

◆ m_doubleparMap

std::map<std::string,doubleparameter> TRTDigSettings::m_doubleparMap
private

Map of settable parameters (double)

Definition at line 410 of file TRTDigSettings.h.

◆ m_electronicsAreAtFarEnd

bool TRTDigSettings::m_electronicsAreAtFarEnd = false
private

Electronics assumed at far end of straw.

Definition at line 314 of file TRTDigSettings.h.

◆ m_fastElectronicsNoisePulseDistance

double TRTDigSettings::m_fastElectronicsNoisePulseDistance = 0.0
private

Fast electronics noise pulse distance (time)

Definition at line 341 of file TRTDigSettings.h.

◆ m_getT0FromData

bool TRTDigSettings::m_getT0FromData = false
private

Definition at line 239 of file TRTDigSettings.h.

◆ m_highThresholdBarLong

double TRTDigSettings::m_highThresholdBarLong = 0.0
private

High threshold discriminator setting.

Definition at line 269 of file TRTDigSettings.h.

◆ m_highThresholdBarLongArgon

double TRTDigSettings::m_highThresholdBarLongArgon = 0.0
private

High threshold discriminator setting Argon.

Definition at line 274 of file TRTDigSettings.h.

◆ m_highThresholdBarLongKrypton

double TRTDigSettings::m_highThresholdBarLongKrypton = 0.0
private

High threshold discriminator setting Krypton.

Definition at line 279 of file TRTDigSettings.h.

◆ m_highThresholdBarShort

double TRTDigSettings::m_highThresholdBarShort = 0.0
private

High threshold discriminator setting.

Definition at line 268 of file TRTDigSettings.h.

◆ m_highThresholdBarShortArgon

double TRTDigSettings::m_highThresholdBarShortArgon = 0.0
private

High threshold discriminator setting Argon.

Definition at line 273 of file TRTDigSettings.h.

◆ m_highThresholdBarShortKrypton

double TRTDigSettings::m_highThresholdBarShortKrypton = 0.0
private

High threshold discriminator setting Krypton.

Definition at line 278 of file TRTDigSettings.h.

◆ m_highThresholdECAwheels

double TRTDigSettings::m_highThresholdECAwheels = 0.0
private

High threshold discriminator setting.

Definition at line 270 of file TRTDigSettings.h.

◆ m_highThresholdECAwheelsArgon

double TRTDigSettings::m_highThresholdECAwheelsArgon = 0.0
private

High threshold discriminator setting Argon.

Definition at line 275 of file TRTDigSettings.h.

◆ m_highThresholdECAwheelsKrypton

double TRTDigSettings::m_highThresholdECAwheelsKrypton = 0.0
private

High threshold discriminator setting Krypton.

Definition at line 280 of file TRTDigSettings.h.

◆ m_highThresholdECBwheels

double TRTDigSettings::m_highThresholdECBwheels = 0.0
private

High threshold discriminator setting.

Definition at line 271 of file TRTDigSettings.h.

◆ m_highThresholdECBwheelsArgon

double TRTDigSettings::m_highThresholdECBwheelsArgon = 0.0
private

High threshold discriminator setting Argon.

Definition at line 276 of file TRTDigSettings.h.

◆ m_highThresholdECBwheelsKrypton

double TRTDigSettings::m_highThresholdECBwheelsKrypton = 0.0
private

High threshold discriminator setting Krypton.

Definition at line 281 of file TRTDigSettings.h.

◆ m_htT0shiftBarLong

int TRTDigSettings::m_htT0shiftBarLong = 0
private

HT T0 shift.

Definition at line 284 of file TRTDigSettings.h.

◆ m_htT0shiftBarShort

int TRTDigSettings::m_htT0shiftBarShort = 0
private

Definition at line 283 of file TRTDigSettings.h.

◆ m_htT0shiftECAwheels

int TRTDigSettings::m_htT0shiftECAwheels = 0
private

Definition at line 285 of file TRTDigSettings.h.

◆ m_htT0shiftECBwheels

int TRTDigSettings::m_htT0shiftECBwheels = 0
private

Definition at line 286 of file TRTDigSettings.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_innerRadiusOfStraw

double TRTDigSettings::m_innerRadiusOfStraw = 0.0
private

Inner radius of straw.

Definition at line 301 of file TRTDigSettings.h.

◆ m_intboolparMap

std::map<std::string,intboolparameter> TRTDigSettings::m_intboolparMap
private

Map of settable parameters (int & bool)

Definition at line 412 of file TRTDigSettings.h.

◆ m_ionisationPotential

double TRTDigSettings::m_ionisationPotential = 0.0
private

Mean ionisation potential.

Definition at line 242 of file TRTDigSettings.h.

◆ m_ionisationPotentialArgon

double TRTDigSettings::m_ionisationPotentialArgon = 0.0
private

Mean ionisation potential for Argon mixture.

Definition at line 243 of file TRTDigSettings.h.

◆ m_ionisationPotentialKrypton

double TRTDigSettings::m_ionisationPotentialKrypton = 0.0
private

Mean ionisation potential for Krypton mixture.

Definition at line 244 of file TRTDigSettings.h.

◆ m_isCTB

bool TRTDigSettings::m_isCTB = false
private

Data is from CTB (Combined Test Beam)

Definition at line 330 of file TRTDigSettings.h.

◆ m_isOverlay

bool TRTDigSettings::m_isOverlay = false
private

Doing overlay.

Definition at line 339 of file TRTDigSettings.h.

◆ m_jitterTimeOffset

double TRTDigSettings::m_jitterTimeOffset = 0.0
private

Event time not correlated with LHC clock.

Definition at line 334 of file TRTDigSettings.h.

◆ m_killBarrel

bool TRTDigSettings::m_killBarrel = false
private

Disable barrel.

Definition at line 333 of file TRTDigSettings.h.

◆ m_killEndCap

bool TRTDigSettings::m_killEndCap = false
private

Disable end cap.

Definition at line 332 of file TRTDigSettings.h.

◆ m_lengthOfDeadRegion

double TRTDigSettings::m_lengthOfDeadRegion = 0.0
private

Length of dead region at straw end.

Definition at line 303 of file TRTDigSettings.h.

◆ m_lowThresholdBar

double TRTDigSettings::m_lowThresholdBar = 0.0
private

Low threshold discriminator setting.

Definition at line 259 of file TRTDigSettings.h.

◆ m_lowThresholdBarArgon

double TRTDigSettings::m_lowThresholdBarArgon = 0.0
private

Low threshold discriminator setting for Argon mixture.

Definition at line 262 of file TRTDigSettings.h.

◆ m_lowThresholdBarKrypton

double TRTDigSettings::m_lowThresholdBarKrypton = 0.0
private

Low threshold discriminator setting for Krypton mixture.

Definition at line 265 of file TRTDigSettings.h.

◆ m_lowThresholdEC

double TRTDigSettings::m_lowThresholdEC = 0.0
private

Low threshold discriminator setting.

Definition at line 260 of file TRTDigSettings.h.

◆ m_lowThresholdECArgon

double TRTDigSettings::m_lowThresholdECArgon = 0.0
private

Low threshold discriminator setting for Argon mixture.

Definition at line 263 of file TRTDigSettings.h.

◆ m_lowThresholdECKrypton

double TRTDigSettings::m_lowThresholdECKrypton = 0.0
private

Low threshold discriminator setting for Krypton mixture.

Definition at line 266 of file TRTDigSettings.h.

◆ m_ltT0shiftBarLongAr

int TRTDigSettings::m_ltT0shiftBarLongAr = 0
private

Definition at line 293 of file TRTDigSettings.h.

◆ m_ltT0shiftBarLongKr

int TRTDigSettings::m_ltT0shiftBarLongKr = 0
private

Definition at line 292 of file TRTDigSettings.h.

◆ m_ltT0shiftBarLongXe

int TRTDigSettings::m_ltT0shiftBarLongXe = 0
private

Definition at line 291 of file TRTDigSettings.h.

◆ m_ltT0shiftBarShortAr

int TRTDigSettings::m_ltT0shiftBarShortAr = 0
private

Definition at line 290 of file TRTDigSettings.h.

◆ m_ltT0shiftBarShortKr

int TRTDigSettings::m_ltT0shiftBarShortKr = 0
private

LT T0 shift.

Definition at line 289 of file TRTDigSettings.h.

◆ m_ltT0shiftBarShortXe

int TRTDigSettings::m_ltT0shiftBarShortXe = 0
private

Definition at line 288 of file TRTDigSettings.h.

◆ m_ltT0shiftECAwheelsAr

int TRTDigSettings::m_ltT0shiftECAwheelsAr = 0
private

Definition at line 296 of file TRTDigSettings.h.

◆ m_ltT0shiftECAwheelsKr

int TRTDigSettings::m_ltT0shiftECAwheelsKr = 0
private

Definition at line 295 of file TRTDigSettings.h.

◆ m_ltT0shiftECAwheelsXe

int TRTDigSettings::m_ltT0shiftECAwheelsXe = 0
private

Definition at line 294 of file TRTDigSettings.h.

◆ m_ltT0shiftECBwheelsAr

int TRTDigSettings::m_ltT0shiftECBwheelsAr = 0
private

Definition at line 299 of file TRTDigSettings.h.

◆ m_ltT0shiftECBwheelsKr

int TRTDigSettings::m_ltT0shiftECBwheelsKr = 0
private

Definition at line 298 of file TRTDigSettings.h.

◆ m_ltT0shiftECBwheelsXe

int TRTDigSettings::m_ltT0shiftECBwheelsXe = 0
private

Definition at line 297 of file TRTDigSettings.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ m_maxVertexDisplacement

double TRTDigSettings::m_maxVertexDisplacement = 0.0
private

Max.

vertex displacement

Definition at line 310 of file TRTDigSettings.h.

◆ m_minDiscriminatorWidth

double TRTDigSettings::m_minDiscriminatorWidth = 0.0
private

Min.

discriminator width

Definition at line 253 of file TRTDigSettings.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_noiseInSimhits

bool TRTDigSettings::m_noiseInSimhits = false
private

Simulate noise in hit straws.

Definition at line 328 of file TRTDigSettings.h.

◆ m_noiseInUnhitStraws

bool TRTDigSettings::m_noiseInUnhitStraws = false
private

Simulate noise in unhit straws.

Definition at line 327 of file TRTDigSettings.h.

◆ m_numberOfBins

unsigned int TRTDigSettings::m_numberOfBins = 0U
private

No.

bins used internally

Definition at line 250 of file TRTDigSettings.h.

◆ m_numberOfBinsInEncodingBin

unsigned int TRTDigSettings::m_numberOfBinsInEncodingBin = 0U
private

No.

internal bins for each readout bit

Definition at line 251 of file TRTDigSettings.h.

◆ m_numberOfCrossingsBeforeMain

unsigned int TRTDigSettings::m_numberOfCrossingsBeforeMain = 0U
private

For pileup: BCs before main event.

Definition at line 307 of file TRTDigSettings.h.

◆ m_outerRadiusOfWire

double TRTDigSettings::m_outerRadiusOfWire = 0.0
private

Radius of drift wire.

Definition at line 302 of file TRTDigSettings.h.

◆ m_pileUpSDOsMinEkin

double TRTDigSettings::m_pileUpSDOsMinEkin = 0.0
private

Min.

Ekin for pileup particle to appear in MC-truth

Definition at line 309 of file TRTDigSettings.h.

◆ m_propertyNotSetMagicNumber

double TRTDigSettings::m_propertyNotSetMagicNumber {}
private

Definition at line 414 of file TRTDigSettings.h.

414{};

◆ m_propertyNotSetMagicNumber_int

int TRTDigSettings::m_propertyNotSetMagicNumber_int {}
private

Definition at line 415 of file TRTDigSettings.h.

415{};

◆ m_relativeHighThresholdFluctuation

double TRTDigSettings::m_relativeHighThresholdFluctuation = 0.0
private

Relative high threshold fluctuation.

Definition at line 349 of file TRTDigSettings.h.

◆ m_relativeLowThresholdFluctuation

double TRTDigSettings::m_relativeLowThresholdFluctuation = 0.0
private

Relative low threshold fluctuation.

Definition at line 348 of file TRTDigSettings.h.

◆ m_signalPropagationSpeed

double TRTDigSettings::m_signalPropagationSpeed = 0.0
private

Signal propagation time in signal wire.

Definition at line 256 of file TRTDigSettings.h.

◆ m_slowPeriodicNoisePulseDistance

double TRTDigSettings::m_slowPeriodicNoisePulseDistance = 0.0
private

Slow periodic noise pulse distance (time)

Definition at line 342 of file TRTDigSettings.h.

◆ m_slowPeriodicNoisePulseFraction

double TRTDigSettings::m_slowPeriodicNoisePulseFraction = 0.0
private

Slow periodic noise pulse fraction.

Definition at line 343 of file TRTDigSettings.h.

◆ m_smearingFactor

double TRTDigSettings::m_smearingFactor = 0.0
private

Cluster energy smearing factor.

Definition at line 245 of file TRTDigSettings.h.

◆ m_smearingFactorArgon

double TRTDigSettings::m_smearingFactorArgon = 0.0
private

Cluster energy smearing factor for Argon mixture.

Definition at line 246 of file TRTDigSettings.h.

◆ m_smearingFactorKrypton

double TRTDigSettings::m_smearingFactorKrypton = 0.0
private

Cluster energy smearing factor for Krypton mixture.

Definition at line 247 of file TRTDigSettings.h.

◆ m_solenoidFieldStrength

double TRTDigSettings::m_solenoidFieldStrength = 0.0
private

Solenoid field strength.

Definition at line 350 of file TRTDigSettings.h.

◆ m_storeSDO

unsigned int TRTDigSettings::m_storeSDO = 0U
private

Time window in which to store SDOs.

Definition at line 240 of file TRTDigSettings.h.

◆ m_timeCorrection

bool TRTDigSettings::m_timeCorrection = false
private

Corrrect for flight and wire propagation delays.

Definition at line 305 of file TRTDigSettings.h.

◆ m_timeInterval

double TRTDigSettings::m_timeInterval = 0.0
private

Time interval covered by each digit.

Definition at line 249 of file TRTDigSettings.h.

◆ m_timeOffsetCalcVertexX

double TRTDigSettings::m_timeOffsetCalcVertexX = 0.0
private

x-coord.

of point where particle is assumed to originate

Definition at line 311 of file TRTDigSettings.h.

◆ m_timeOffsetCalcVertexY

double TRTDigSettings::m_timeOffsetCalcVertexY = 0.0
private

y-coord.

of point where particle is assumed to originate

Definition at line 312 of file TRTDigSettings.h.

◆ m_timeOffsetCalcVertexZ

double TRTDigSettings::m_timeOffsetCalcVertexZ = 0.0
private

z-coord.

of point where particle is assumed to originate

Definition at line 313 of file TRTDigSettings.h.

◆ m_timeshiftsSymmetricForPhiSectors

bool TRTDigSettings::m_timeshiftsSymmetricForPhiSectors = false
private

Time offset assumed phi symmetric.

Definition at line 315 of file TRTDigSettings.h.

◆ m_trEfficiencyBarrel

double TRTDigSettings::m_trEfficiencyBarrel = 0.0
private

Transition Radiation efficiency, barrel.

Definition at line 317 of file TRTDigSettings.h.

◆ m_trEfficiencyBarrelArgon

double TRTDigSettings::m_trEfficiencyBarrelArgon = 0.0
private

Transition Radiation efficiency, barrel, Argon.

Definition at line 320 of file TRTDigSettings.h.

◆ m_trEfficiencyBarrelKrypton

double TRTDigSettings::m_trEfficiencyBarrelKrypton = 0.0
private

Transition Radiation efficiency, barrel, Krypton.

Definition at line 323 of file TRTDigSettings.h.

◆ m_trEfficiencyEndCapA

double TRTDigSettings::m_trEfficiencyEndCapA = 0.0
private

Transition Radiation efficiency, end cap A.

Definition at line 318 of file TRTDigSettings.h.

◆ m_trEfficiencyEndCapAArgon

double TRTDigSettings::m_trEfficiencyEndCapAArgon = 0.0
private

Transition Radiation efficiency, end cap A, Argon.

Definition at line 321 of file TRTDigSettings.h.

◆ m_trEfficiencyEndCapAKrypton

double TRTDigSettings::m_trEfficiencyEndCapAKrypton = 0.0
private

Transition Radiation efficiency, end cap A, Krypton.

Definition at line 324 of file TRTDigSettings.h.

◆ m_trEfficiencyEndCapB

double TRTDigSettings::m_trEfficiencyEndCapB = 0.0
private

Transition Radiation efficiency, end cap B.

Definition at line 319 of file TRTDigSettings.h.

◆ m_trEfficiencyEndCapBArgon

double TRTDigSettings::m_trEfficiencyEndCapBArgon = 0.0
private

Transition Radiation efficiency, end cap B, Argon.

Definition at line 322 of file TRTDigSettings.h.

◆ m_trEfficiencyEndCapBKrypton

double TRTDigSettings::m_trEfficiencyEndCapBKrypton = 0.0
private

Transition Radiation efficiency, end cap B, Krypton.

Definition at line 325 of file TRTDigSettings.h.

◆ m_trtRangeCutProperty

double TRTDigSettings::m_trtRangeCutProperty = 0.0
private

Electrons xenon range cut in TRT simulation.

Definition at line 355 of file TRTDigSettings.h.

◆ m_useAttenuation

bool TRTDigSettings::m_useAttenuation = false
private

Definition at line 352 of file TRTDigSettings.h.

◆ m_useMagneticFieldMap

bool TRTDigSettings::m_useMagneticFieldMap = false
private

Definition at line 238 of file TRTDigSettings.h.


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