Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
LArDigitMonAlg Namespace Reference

Functions

def LArDigitMonConfig (flags)
 
def LArDigitMonConfigCore (helper, algoinstance, flags)
 

Function Documentation

◆ LArDigitMonConfig()

def LArDigitMonAlg.LArDigitMonConfig (   flags)
Function to configures some algorithms in the monitoring system.

Definition at line 5 of file LArDigitMonAlg.py.

5 def LArDigitMonConfig(flags):
6  '''Function to configures some algorithms in the monitoring system.'''
7 
8  # The following class will make a sequence, configure algorithms, and link
9  # them to GenericMonitoringTools
10 
11  from AthenaMonitoring.AthMonitorCfgHelper import AthMonitorCfgHelper
12  helper = AthMonitorCfgHelper(flags,'LArDigitMonAlgCfg')
13 
14  from AthenaConfiguration.ComponentFactory import CompFactory
15  return LArDigitMonConfigCore(helper, CompFactory.LArDigitMonAlg,flags)
16 

◆ LArDigitMonConfigCore()

def LArDigitMonAlg.LArDigitMonConfigCore (   helper,
  algoinstance,
  flags 
)

Definition at line 17 of file LArDigitMonAlg.py.

17 def LArDigitMonConfigCore(helper, algoinstance,flags):
18 
19 
20  from LArMonitoring.GlobalVariables import lArDQGlobals
21 
22  larDigitMonAlg = helper.addAlgorithm(algoinstance,'larDigitMonAlg')
23 
24  summaryGroupName="Summary"
25  nslots=[]
26  for i in range(0,len(lArDQGlobals.FEB_Slot)):
27  nslots.append(lArDQGlobals.FEB_Slot[lArDQGlobals.Partitions[i]][1])
28 
29  larDigitMonAlg.SummaryMonGroup=summaryGroupName
30  larDigitMonAlg.LArDigitsSubDetNames=lArDQGlobals.SubDet
31  larDigitMonAlg.LArDigitsPartitionNames=lArDQGlobals.Partitions
32  larDigitMonAlg.LArDigitsNslots=nslots
33  larDigitMonAlg.ProblemsToMask=["highNoiseHG","highNoiseMG","highNoiseLG","deadReadout","deadPhys"]
34  larDigitMonAlg.Streams=lArDQGlobals.defaultStreamNames
35 
36  summaryGroup = helper.addGroup(
37  larDigitMonAlg,
38  summaryGroupName,
39  '/LAr/Digits'
40  )
41 
42 
43  summary_hist_path=summaryGroupName+'/'
44 
45  summaryGroup.defineHistogram('gain,partition;SummaryGain',
46  title='Gain;Gain;Partition',
47  type='TH2F',
48  path=summary_hist_path,
49  xbins=lArDQGlobals.N_Gains,xmin=-0.5,xmax=lArDQGlobals.N_Gains-0.5,
50  ybins=lArDQGlobals.N_Partitions, ymin=-0.5, ymax=lArDQGlobals.N_Partitions-0.5,
51  xlabels=lArDQGlobals.Gains,ylabels=lArDQGlobals.Partitions)
52 
53  summaryGroup.defineHistogram('LBN;LBN',type='TH1I',
54  title='Event counter per LB',
55  path='',
56  xbins=lArDQGlobals.LB_Bins,xmin=lArDQGlobals.LB_Min,xmax=lArDQGlobals.LB_Max)
57 
58  # now individual partitions, because we need a different directories, will have only 2dim arrays (side)
59  for subdet in range(0,lArDQGlobals.N_SubDet):
60  array = helper.addArray([lArDQGlobals.Partitions[2*subdet:2*subdet+2]],larDigitMonAlg,lArDQGlobals.SubDet[subdet],topPath='/')
61  hist_path='/LAr/Digits/'+lArDQGlobals.SubDet[subdet]+'/'
62  slot_low = lArDQGlobals.FEB_Slot[lArDQGlobals.Partitions[subdet*2]][0] - 0.5
63  slot_up = lArDQGlobals.FEB_Slot[lArDQGlobals.Partitions[subdet*2]][1] + 0.5
64  slot_n = int(slot_up - slot_low)
65  ft_low = lArDQGlobals.FEB_Feedthrough[lArDQGlobals.Partitions[subdet*2]][0] - 0.5
66  ft_up = lArDQGlobals.FEB_Feedthrough[lArDQGlobals.Partitions[subdet*2]][1] + 0.5
67  ft_n = int(ft_up - ft_low)
68  chan_n = lArDQGlobals.FEB_N_channels
69  chan_low = lArDQGlobals.FEB_channels_Min
70  chan_up = lArDQGlobals.FEB_channels_Max
71  crates_n = lArDQGlobals.FEB_Crates[lArDQGlobals.Partitions[subdet*2]][1]
72  crates_low = 0.5
73  crates_up = lArDQGlobals.FEB_Crates[lArDQGlobals.Partitions[subdet*2]][1] + 0.5
74  array.defineHistogram('Outslot,OutFT;RAW_OutOfRange',
75  title='% chan/FEB/events with max out of range;Slot;FT',
76  type='TH2F',
77  path=hist_path,
78  weight='Outweight',
79  xbins=int(slot_n),xmin=slot_low,xmax=slot_up,
80  ybins=int(ft_n), ymin=ft_low, ymax=ft_up)
81  array.defineHistogram('Outcrate,Outchan;RAW_OutOfRangeChan',
82  title='% chan/events with max out of range;Crate (Slot + N_slots*FT);Channel',
83  type='TH2F',
84  path=hist_path,
85  weight='weight',
86  xbins=crates_n,xmin=crates_low,xmax=crates_up,
87  ybins=chan_n, ymin=chan_low, ymax=chan_up)
88 
89  array.defineHistogram('Saturslot,SaturFT;RAW_Saturation',
90  title='% chan/FEB/events with max=4095 ADC;Slot;FT',
91  type='TH2F',
92  path=hist_path,
93  weight='Saturweight',
94  xbins=int(slot_n),xmin=slot_low,xmax=slot_up,
95  ybins=int(ft_n), ymin=ft_low, ymax=ft_up)
96  array.defineHistogram('Saturcrate,Saturchan;RAW_SaturationChan',
97  title='% chan/events with max=4095 ADC - Med/High Gain - All Stream;Crate (Slot + N_slots*FT);Channel',
98  type='TH2F',
99  path=hist_path,
100  weight='weight',
101  xbins=crates_n,xmin=crates_low,xmax=crates_up,
102  ybins=chan_n, ymin=chan_low, ymax=chan_up)
103 
104  array.defineHistogram('SaturLowslot,SaturLowFT;RAW_SaturationLow',
105  title='% chan/FEB/events with max=4095 ADC ;Slot;FT',
106  type='TH2F',
107  path=hist_path,
108  weight='SaturLowweight',
109  xbins=int(slot_n),xmin=slot_low,xmax=slot_up,
110  ybins=int(ft_n), ymin=ft_low, ymax=ft_up)
111  array.defineHistogram('SaturLowcrate,SaturLowchan;RAW_SaturationChanLow',
112  title='% chan/events with max=4095 ADC - Low Gain - All Stream;Crate (Slot + N_slots*FT);Channel',
113  type='TH2F',
114  path=hist_path,
115  weight='weight',
116  xbins=crates_n,xmin=crates_low,xmax=crates_up,
117  ybins=chan_n, ymin=chan_low, ymax=chan_up)
118 
119  array.defineHistogram('Nullslot,NullFT;tNullDigit',
120  title='% chan/FEB/events with min=0 ADC;Slot;FT',
121  type='TH2F',
122  path=hist_path,
123  weight='Nullweight',
124  xbins=int(slot_n),xmin=slot_low,xmax=slot_up,
125  ybins=int(ft_n), ymin=ft_low, ymax=ft_up)
126  array.defineHistogram('Nullcrate,Nullchan;RAW_NullDigitChan',
127  title='% chan/events with min=0 ADC - All Gain - All Stream;Crate;Channel',
128  type='TH2F',
129  path=hist_path,
130  xbins=crates_n,xmin=crates_low,xmax=crates_up,
131  ybins=chan_n, ymin=chan_low, ymax=chan_up)
132 
133  array.defineHistogram('slot,FT,MaxPos;RAW_AvePosMaxDig',
134  title='Average position of Max Digit;Slot;FT',
135  type='TProfile2D',
136  path=hist_path,
137  xbins=int(slot_n),xmin=slot_low,xmax=slot_up,
138  ybins=int(ft_n), ymin=ft_low, ymax=ft_up)
139 
140  array.defineHistogram('LBN,MaxPos;MaxVsTime',
141  title='Average Max Sample vs LumiBlock;Luminosity Block;Average Max Sample',
142  type='TProfile',
143  path=hist_path,
144  xbins=lArDQGlobals.LB_Bins,xmin=lArDQGlobals.LB_Min,xmax=lArDQGlobals.LB_Max)
145  array.defineHistogram('MaxPos,Energy;EnVsMaxSample',
146  title='Energy vs max sample;Sample Number;Energy [ADC] ',
147  type='TH2F',
148  path=hist_path,
149  xbins=lArDQGlobals.Samples_Bins,xmin=lArDQGlobals.Samples_Min,xmax=lArDQGlobals.Samples_Max,
150  ybins=lArDQGlobals.Energy_Bins, ymin=lArDQGlobals.Energy_Min, ymax=lArDQGlobals.Energy_Max)
151 
152  array.defineHistogram('MaxPos,streamBin;MaxSample_PerStream',
153  title="Position of the Max Sample;Average Max Sample",
154  type='TH2F',
155  path=hist_path,
156  xbins=lArDQGlobals.Samples_Bins,xmin=lArDQGlobals.Samples_Min,xmax=lArDQGlobals.Samples_Max,
157  ybins=len(lArDQGlobals.defaultStreamNames),ymin=-0.5, ymax=len(lArDQGlobals.defaultStreamNames)-0.5,
158  ylabels=lArDQGlobals.defaultStreamNames)
159 
160 
161  array.defineHistogram('l1trig,MaxPos;TriggerWord',
162  title='Position of max sample per L1 trigger word (8 bits);L1 trigger word;Position of max Sample ',
163  type='TProfile',
164  path=hist_path,
165  xbins=lArDQGlobals.L1Trig_Bins,xmin=lArDQGlobals.L1Trig_Min,xmax=lArDQGlobals.L1Trig_Max)
166 
167  array.defineHistogram('Sample,SignalNorm;SignShape',
168  title='Normalized Signal Shape;Sample Number;Normalized Signal Shape ',
169  type='TProfile',
170  weight='weight',
171  path=hist_path,
172  xbins=lArDQGlobals.Samples_Bins,xmin=lArDQGlobals.Samples_Min,xmax=lArDQGlobals.Samples_Max)
173 
174 
175  from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
177  cfg.merge(helper.result())
178  return cfg
179 
180 
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
LArDigitMonAlg.LArDigitMonConfig
def LArDigitMonConfig(flags)
Definition: LArDigitMonAlg.py:5
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
LArDigitMonAlg.LArDigitMonConfigCore
def LArDigitMonConfigCore(helper, algoinstance, flags)
Definition: LArDigitMonAlg.py:17
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45