ATLAS Offline Software
Loading...
Searching...
No Matches
RunTilePulseSim Namespace Reference

Functions

 TileDigitsFromPulseCfg (flags, **kwargs)

Variables

 flags = initConfigFlags()
 parser
 help
 action
 default
 type
 str
 int
 bool
 False
 args
 _
 RunType
 doOpt2
 doOptATLAS
 OfcFromCOOL
 isMC
 Files
 MaxEvents
 RunNumbers
 ConditionsRunNumber
 OverrideRunNumber
 AtlasVersion
 GlobalTag
 runNumber = flags.Input.RunNumbers[0]
 cfg = MainServicesCfg(flags)
 rawChannelBuilders = cfg.getEventAlgo('TileRChMaker').TileRawChannelBuilder
 nSamples
 OptFilterDeltaCorrelation
str ntupleFile = f'{args.outputDirectory}/tile_{runNumber}_{args.outputVersion}.aan.root'
 NSamples
 TileRawChannelContainer
 TileRawChannelContainerOpt
 TileRawChannelContainerFit
 withDetails
 summariseProps
 printDefaults
 sc = cfg.run()

Detailed Description

@file RunTilePulseSim.py
@brief Script to run Tile pulse simulator

Function Documentation

◆ TileDigitsFromPulseCfg()

RunTilePulseSim.TileDigitsFromPulseCfg ( flags,
** kwargs )
Return component accumulator with configured Tile digits from pulse algorithm

Arguments:
    flags  -- Athena configuration flags
Keyword arguments:
    OutputDigitsContainer         -- Name of container with TileDigits to write
    ImperfectionMean              -- Mean value of pulse shape broadening
    ImperfectionRMS               -- RMS of pulse shape broadening
    InTimeAmp                     -- Amplitude of in-time pulse
    OutOfTimeAmp                  -- Amplitude of out-of-time pulse
    InTimeOffset                  -- In-time pulse offset from nominal time
    OutOfTimeOffset               -- Out-of-time pulse offset from nominal time
    UseGaussNoise                 -- Set to TRUE in order to create noise from double gaussian
    GaussNoiseAmpOne              -- Amplitude of first gaussian of double gaussian noise
    GaussNoiseSigmaOne            -- Standard deviation of first gaussian of double gaussian noise
    GaussNoiseAmpTwo              -- Amplitude of second gaussian of double gaussian noise
    GaussNoiseSigmaTwo            -- Standard deviation of second gaussian of double gaussian noise
    UseInTimeAmpDist              -- Set to TRUE in order to use a distribution for the in-time amplitude instead of a const.
    UseOutOfTimeAmpDist           -- Set to TRUE in order to use a distribution for the out-of-time amplitude instead of a const
    InTimeAmpDistFileName         -- Filename of file to use for amplitude distribution of in-time pulses
    InTimeAmpDistHistogramName    -- Name of the histogram to use for in-time amplitude distribution
    InTimeAmpPulseProb            -- Probability to add an in-time pulse
    OutOfTimeAmpDistFileName      -- Filename of file to use for amplitude distribution of out-of-time pulses
    InTimeAmpPulseProb            -- Probability to add an in-time pulse
    PileUpFraction                -- Probability that an out-of-time component will be added
    GaussianC2CPhaseVariation     -- RMS for the in-time pulse offset (channel-to-channel phase variation)
    ChannelSpecificPedestal       -- Set to TRUE in order to use a channel specific value for the pedestal
    ChannelSpecificNoise          -- Set to TRUE in order to add channel specific noise
    OutOfTimeOffsetHistogramFile  -- Filename of file containing histogram of pile-up timing distribution
    OutOfTimeOffsetHistogramName  -- Name of the histogram to use for pile-up timing distribution
    AmpDistLowerLimit             -- Set all bins lower than this to zero. Default = 135
    PedestalValueHG               -- Pedestal in HG if not taken from database
    PedestalValueLG               -- Pedestal in LG if not taken from database
    SimulatePileUpWithPoiss       -- Simulate pile-up overlaying signals from distribution
    AvgMuForPileUpSimulation      -- Average number of pp collisions for pile-up simulation with SimulatePileUpWithPoiss
    PileUpAmpDistFileName         -- Distribution to simulate pile-up with SimulatePileUpWithPoiss
    RandomSeed                    -- Random seed for random number generator
    SimulatePulseChain            -- Simulate continuous output from readout cosidering HL-LHC paradigm
    Bigain                        -- Save two gains in ntuple
    NPulses                       -- The number of neighboring bunch crossings (before and after the in-time crossing) whose signals are accounted for when simulating the total contribution to a given bunch crossing

Definition at line 13 of file RunTilePulseSim.py.

13def TileDigitsFromPulseCfg(flags, **kwargs):
14 """Return component accumulator with configured Tile digits from pulse algorithm
15
16 Arguments:
17 flags -- Athena configuration flags
18 Keyword arguments:
19 OutputDigitsContainer -- Name of container with TileDigits to write
20 ImperfectionMean -- Mean value of pulse shape broadening
21 ImperfectionRMS -- RMS of pulse shape broadening
22 InTimeAmp -- Amplitude of in-time pulse
23 OutOfTimeAmp -- Amplitude of out-of-time pulse
24 InTimeOffset -- In-time pulse offset from nominal time
25 OutOfTimeOffset -- Out-of-time pulse offset from nominal time
26 UseGaussNoise -- Set to TRUE in order to create noise from double gaussian
27 GaussNoiseAmpOne -- Amplitude of first gaussian of double gaussian noise
28 GaussNoiseSigmaOne -- Standard deviation of first gaussian of double gaussian noise
29 GaussNoiseAmpTwo -- Amplitude of second gaussian of double gaussian noise
30 GaussNoiseSigmaTwo -- Standard deviation of second gaussian of double gaussian noise
31 UseInTimeAmpDist -- Set to TRUE in order to use a distribution for the in-time amplitude instead of a const.
32 UseOutOfTimeAmpDist -- Set to TRUE in order to use a distribution for the out-of-time amplitude instead of a const
33 InTimeAmpDistFileName -- Filename of file to use for amplitude distribution of in-time pulses
34 InTimeAmpDistHistogramName -- Name of the histogram to use for in-time amplitude distribution
35 InTimeAmpPulseProb -- Probability to add an in-time pulse
36 OutOfTimeAmpDistFileName -- Filename of file to use for amplitude distribution of out-of-time pulses
37 InTimeAmpPulseProb -- Probability to add an in-time pulse
38 PileUpFraction -- Probability that an out-of-time component will be added
39 GaussianC2CPhaseVariation -- RMS for the in-time pulse offset (channel-to-channel phase variation)
40 ChannelSpecificPedestal -- Set to TRUE in order to use a channel specific value for the pedestal
41 ChannelSpecificNoise -- Set to TRUE in order to add channel specific noise
42 OutOfTimeOffsetHistogramFile -- Filename of file containing histogram of pile-up timing distribution
43 OutOfTimeOffsetHistogramName -- Name of the histogram to use for pile-up timing distribution
44 AmpDistLowerLimit -- Set all bins lower than this to zero. Default = 135
45 PedestalValueHG -- Pedestal in HG if not taken from database
46 PedestalValueLG -- Pedestal in LG if not taken from database
47 SimulatePileUpWithPoiss -- Simulate pile-up overlaying signals from distribution
48 AvgMuForPileUpSimulation -- Average number of pp collisions for pile-up simulation with SimulatePileUpWithPoiss
49 PileUpAmpDistFileName -- Distribution to simulate pile-up with SimulatePileUpWithPoiss
50 RandomSeed -- Random seed for random number generator
51 SimulatePulseChain -- Simulate continuous output from readout cosidering HL-LHC paradigm
52 Bigain -- Save two gains in ntuple
53 NPulses -- The number of neighboring bunch crossings (before and after the in-time crossing) whose signals are accounted for when simulating the total contribution to a given bunch crossing
54 """
55
56 kwargs.setdefault('InTimeAmp', 1000)
57 kwargs.setdefault('InTimeAmpPulseProb', 1)
58 kwargs.setdefault('ImperfectionMean', 1)
59 kwargs.setdefault('ImperfectionRms', 0)
60 kwargs.setdefault('TilePhaseII', False)
61 kwargs.setdefault('NSamples', 7)
62 kwargs.setdefault('Bigain', False)
63 kwargs.setdefault('SimulatePulseChain', False)
64
65 PhaseII = kwargs['TilePhaseII']
66 PulseChain = kwargs['SimulatePulseChain']
67
68 # PhaseII parameters
69 if PhaseII:
70 kwargs.setdefault('PedestalValueHG', 100)
71 kwargs.setdefault('PedestalValueLG', 100)
72 kwargs.setdefault('ChannelSpecificPedestal', False)
73 kwargs.setdefault('UseGaussNoise', True)
74 else:
75 kwargs.setdefault('ChannelSpecificPedestal', True)
76 kwargs.setdefault('ChannelSpecificNoise', True)
77
78 kwargs.setdefault('PileUpFraction', 0)
79 kwargs.setdefault('AmpDistLowerLimit', 0)
80 kwargs.setdefault('SimulatePileUpWithPoiss', False)
81 kwargs.setdefault('AvgMuForPileUpSimulation', 80)
82
83 from TileGeoModel.TileGMConfig import TileGMCfg
84 acc = TileGMCfg(flags)
85
86 from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
87 acc.merge(TileCablingSvcCfg(flags))
88
89 from TileConditions.TileSampleNoiseConfig import TileSampleNoiseCondAlgCfg
90 acc.merge( TileSampleNoiseCondAlgCfg(flags) )
91
92 from RngComps.RngCompsConfig import AthRNGSvcCfg
93 kwargs['RndmSvc'] = acc.getPrimaryAndMerge( AthRNGSvcCfg(flags) )
94
95 # Configure TileInfoLoader to set up number of samples
96 nSamples = kwargs['NSamples'] if not PulseChain else 1
97 ADCmax = 4095 if PhaseII else 1023
98 ADCmaskValue = 4800 if PhaseII else 2047
99 from TileConditions.TileInfoLoaderConfig import TileInfoLoaderCfg
100 acc.merge( TileInfoLoaderCfg(flags,
101 NSamples=nSamples, TrigSample=((nSamples-1)//2),
102 ADCmax=ADCmax, ADCmaskValue=ADCmaskValue) )
103
104 TileDigitsFromPulse = CompFactory.TileDigitsFromPulse
105 acc.addEventAlgo(TileDigitsFromPulse(**kwargs), primary=True)
106
107 return acc
108
109
This algorithm creates TileDigits from pulses provided by pulse simulator.

Variable Documentation

◆ _

RunTilePulseSim._
protected

Definition at line 140 of file RunTilePulseSim.py.

◆ action

RunTilePulseSim.action

Definition at line 130 of file RunTilePulseSim.py.

◆ args

RunTilePulseSim.args

Definition at line 140 of file RunTilePulseSim.py.

◆ AtlasVersion

RunTilePulseSim.AtlasVersion

Definition at line 168 of file RunTilePulseSim.py.

◆ bool

RunTilePulseSim.bool

Definition at line 134 of file RunTilePulseSim.py.

◆ cfg

RunTilePulseSim.cfg = MainServicesCfg(flags)

Definition at line 181 of file RunTilePulseSim.py.

◆ ConditionsRunNumber

RunTilePulseSim.ConditionsRunNumber

Definition at line 164 of file RunTilePulseSim.py.

◆ default

RunTilePulseSim.default

Definition at line 131 of file RunTilePulseSim.py.

◆ doOpt2

RunTilePulseSim.doOpt2

Definition at line 146 of file RunTilePulseSim.py.

◆ doOptATLAS

RunTilePulseSim.doOptATLAS

Definition at line 147 of file RunTilePulseSim.py.

◆ False

RunTilePulseSim.False

Definition at line 134 of file RunTilePulseSim.py.

◆ Files

RunTilePulseSim.Files

Definition at line 156 of file RunTilePulseSim.py.

◆ flags

RunTilePulseSim.flags = initConfigFlags()

Definition at line 119 of file RunTilePulseSim.py.

◆ GlobalTag

RunTilePulseSim.GlobalTag

Definition at line 169 of file RunTilePulseSim.py.

◆ help

RunTilePulseSim.help

Definition at line 128 of file RunTilePulseSim.py.

◆ int

RunTilePulseSim.int

Definition at line 133 of file RunTilePulseSim.py.

◆ isMC

RunTilePulseSim.isMC

Definition at line 155 of file RunTilePulseSim.py.

◆ MaxEvents

RunTilePulseSim.MaxEvents

Definition at line 157 of file RunTilePulseSim.py.

◆ NSamples

RunTilePulseSim.NSamples

Definition at line 216 of file RunTilePulseSim.py.

◆ nSamples

RunTilePulseSim.nSamples

Definition at line 197 of file RunTilePulseSim.py.

◆ ntupleFile

str RunTilePulseSim.ntupleFile = f'{args.outputDirectory}/tile_{runNumber}_{args.outputVersion}.aan.root'

Definition at line 202 of file RunTilePulseSim.py.

◆ OfcFromCOOL

RunTilePulseSim.OfcFromCOOL

Definition at line 148 of file RunTilePulseSim.py.

◆ OptFilterDeltaCorrelation

RunTilePulseSim.OptFilterDeltaCorrelation

Definition at line 199 of file RunTilePulseSim.py.

◆ OverrideRunNumber

RunTilePulseSim.OverrideRunNumber

Definition at line 165 of file RunTilePulseSim.py.

◆ parser

RunTilePulseSim.parser
Initial value:
1= flags.getArgumentParser(description='Run Tile pulse simulator. \
2 One can use it without input file and default conditions will be used. \
3 Or one can use --run to specify run number from which conditions should be used \
4 (probably conditions and geometries tags should be changed also in this case). \
5 Or one can use --filesInput to specify input file with HITS to take conditions from. \
6 Example: athena --CA RunTilePulseSim.py --evtMax 10')

Definition at line 121 of file RunTilePulseSim.py.

◆ printDefaults

RunTilePulseSim.printDefaults

Definition at line 233 of file RunTilePulseSim.py.

◆ rawChannelBuilders

RunTilePulseSim.rawChannelBuilders = cfg.getEventAlgo('TileRChMaker').TileRawChannelBuilder

Definition at line 194 of file RunTilePulseSim.py.

◆ runNumber

RunTilePulseSim.runNumber = flags.Input.RunNumbers[0]

Definition at line 178 of file RunTilePulseSim.py.

◆ RunNumbers

RunTilePulseSim.RunNumbers

Definition at line 163 of file RunTilePulseSim.py.

◆ RunType

RunTilePulseSim.RunType

Definition at line 142 of file RunTilePulseSim.py.

◆ sc

RunTilePulseSim.sc = cfg.run()

Definition at line 236 of file RunTilePulseSim.py.

◆ str

RunTilePulseSim.str

Definition at line 132 of file RunTilePulseSim.py.

◆ summariseProps

RunTilePulseSim.summariseProps

Definition at line 232 of file RunTilePulseSim.py.

◆ TileRawChannelContainer

RunTilePulseSim.TileRawChannelContainer

Definition at line 217 of file RunTilePulseSim.py.

◆ TileRawChannelContainerFit

RunTilePulseSim.TileRawChannelContainerFit

Definition at line 224 of file RunTilePulseSim.py.

◆ TileRawChannelContainerOpt

RunTilePulseSim.TileRawChannelContainerOpt

Definition at line 221 of file RunTilePulseSim.py.

◆ type

RunTilePulseSim.type

Definition at line 132 of file RunTilePulseSim.py.

◆ withDetails

RunTilePulseSim.withDetails

Definition at line 231 of file RunTilePulseSim.py.