ATLAS Offline Software
Loading...
Searching...
No Matches
LArCalibConfigFlags.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2import os
3def addLArCalibFlags(flags, isSC=False):
4 flags.Input.isMC=False
5 flags.addFlag("LArCalib.isSC",isSC)
6 flags.addFlag("LArCalib.BadChannelDB","LAR_OFL")
7 flags.addFlag("LArCalib.BadChannelTag","-RUN2-UPD3-00" if _useFrontier() else "")
8 flags.addFlag("LArCalib.BadChannelTagSC","-RUN3-UPD3-00" if _useFrontier() else "")
9
10 #Folders:
11 def _prefix(prevFlags):
12 if prevFlags.LArCalib.isSC:
13 return "/LAR/ElecCalibOflSC/"
14 else:
15 return "/LAR/ElecCalibOfl/"
16
17 flags.addFlag("LArCalib.Pedestal.Folder", lambda prevFlags: _prefix(prevFlags)+"Pedestals/Pedestal")
18 flags.addFlag("LArCalib.AutoCorr.Folder", lambda prevFlags: _prefix(prevFlags)+"AutoCorrs/AutoCorr")
19 flags.addFlag("LArCalib.PhysAutoCorr.Folder", lambda prevFlags: _prefix(prevFlags)+"AutoCorrs/PhysicsAutoCorr")
20 flags.addFlag("LArCalib.CaliWave.Folder", lambda prevFlags: _prefix(prevFlags)+"CaliWaves/CaliWave")
21 flags.addFlag("LArCalib.OFCCali.Folder", lambda prevFlags: _prefix(prevFlags)+"OFC/CaliWave")
22 flags.addFlag("LArCalib.PhysWave.Folder", lambda prevFlags: _prefix(prevFlags)+"PhysWaves/RTM")
23 flags.addFlag("LArCalib.Ramp.Folder", lambda prevFlags: _prefix(prevFlags)+"Ramps/RampLinea")
24 flags.addFlag("LArCalib.OFCPhys.Folder", lambda prevFlags: _prefix(prevFlags)+"OFC/PhysWave/RTM/")
25 flags.addFlag("LArCalib.Shape.Folder", lambda prevFlags: _prefix(prevFlags)+"Shape/RTM/")
26 flags.addFlag("LArCalib.MphysOverMcal.Folder", lambda prevFlags: _prefix(prevFlags)+"MphysOverMcal/RTM")
27 flags.addFlag("LArCalib.PhysCaliTdiff.Folder",lambda prevFlags: _prefix(prevFlags)+"PhysCaliTdiff")
28 flags.addFlag("LArCalib.CaliPulseParams.Folder", lambda prevFlags: _prefix(prevFlags)+"CaliPulseParams/RTM")
29 flags.addFlag("LArCalib.DetCellParams.Folder", lambda prevFlags: _prefix(prevFlags)+"DetCellParams/RTM")
30
31 flags.addFlag("LArCalib.FCALPhysWave.Folder", "/LAR/ElecCalibOfl/PhysWaves/FCALFromTB")
32
33 flags.addFlag("LArCalib.GroupingType",lambda prevFlags: "SuperCells" if prevFlags.LArCalib.isSC else "ExtendedSubDetector")
34 flags.addFlag("LArCalib.Output.POOLFile","ouput.pool.root")
35 flags.addFlag("LArCalib.Output.ROOTFile","")
36 flags.addFlag("LArCalib.Output.POOLFile2","ouput2.pool.root")
37 flags.addFlag("LArCalib.Output.ROOTFile2","")
38 flags.addFlag("LArCalib.Output.SaveAverages",True)
39
40 flags.addFlag("LArCalib.Gain",0)
41
42 flags.addFlag("LArCalib.doValidation", _useFrontier()) # = disabled when running at P1
43
44 flags.addFlag("LArCalib.CorrectBadChannels",True)
45
46 #Flags to find the input files/databases
47 flags.addFlag("LArCalib.Input.Dir",".")
48 flags.addFlag("LArCalib.Input.RunNumbers",[])
49 flags.addFlag("LArCalib.Input.Type","calibration_LArElec-Pedestal")
50 flags.addFlag("LArCalib.Input.Files",_getInputFiles)
51 flags.addFlag("LArCalib.Input.SubDet","") #EM, HEC or FCAL
52 flags.addFlag("LArCalib.Input.isRawData",False)
53 flags.addFlag("LArCalib.Input.paramsFile","parameters.dat")
54
55 flags.addFlag("LArCalib.Input.Database","LAR_OFL") #In practice, a sqlite file
56 flags.addFlag("LArCalib.Input.Database2","LAR_OFL") #In practice, a sqlite file, sometimes we need 2 of them
57 flags.addFlag("LArCalib.Input.CoolOflP1Replica", "LAR_OFL" if _useFrontier() else "/det/lar/project/databases/jobsDatabase/database.db")
58 flags.addFlag("LArCalib.Input.ChannelSelection","") #Read only a subset of COOL channels. Format like '3,4,5:10'
59
60 flags.addFlag("LArCalib.IOVStart", lambda pF: min(pF.LArCalib.Input.RunNumbers) if len(pF.LArCalib.Input.RunNumbers)>0 else 0) #Output IOV start (runnumber)
61 flags.addFlag("LArCalib.IOVEnd", 0x7FFFFFFF) #Output IOV end (runnumber)
62
63
64
65 flags.addFlag("LArCalib.Preselection.Side",[])
66 flags.addFlag("LArCalib.Preselection.BEC",[])
67 flags.addFlag("LArCalib.Preselection.FT",[])
68 flags.addFlag("LArCalib.Preselection.Slot",[])
69
70 flags.addFlag("LArCalib.SCIgnoreBarrelChannels",False)
71 flags.addFlag("LArCalib.SCIgnoreEndcapChannels",False)
72
73 flags.addFlag("LArCalib.RTM.ExtractAll",True) # False = extract only tauR
74 flags.addFlag("LArCalib.RTM.DumpOmegaScan",False)
75 flags.addFlag("LArCalib.RTM.DumpResOscill",False)
76
77 flags.addFlag("LArCalib.CaliWave.Nsteps",24)
78 flags.addFlag("LArCalib.CaliWave.NSubSteps",1)
79 flags.addFlag("LArCalib.doOFCCali",True)
80
81 flags.addFlag("LArCalib.OFC.Ncoll",0)
82 flags.addFlag("LArCalib.OFC.UsePhysCalibTDiff",True)
83 flags.addFlag("LArCalib.OFC.Normalize",True)
84 flags.addFlag("LArCalib.OFC.useDelta",False)
85 flags.addFlag("LArCalib.OFC.Nsamples",4)
86 flags.addFlag("LArCalib.OFC.ShapeCorrection",False)
87 flags.addFlag("LArCalib.OFC.usePed",False)
88
89 flags.addFlag("LArCalib.PhysACuseHG",False)
90
91def _getInputFiles(prevFlags):
92 from LArCalibProcessing.GetInputFiles import GetInputFiles
93 allFiles=[]
94 for rn in prevFlags.LArCalib.Input.RunNumbers:
95 pattern="data.*%(rn)07d.%(type)s.*" % {'rn' : rn,'type' : prevFlags.LArCalib.Input.Type }
96 allFiles+=GetInputFiles(prevFlags.LArCalib.Input.Dir,pattern)
97
98 return allFiles
99
100def LArCalibFolderTag(folder,tag):
101 return ''.join(folder.split('/')) + tag
102
104 return (
105 "FRONTIER_SERVER" in os.environ and
106 os.environ["FRONTIER_SERVER"] != ""
107 )
#define min(a, b)
Definition cfImp.cxx:40
addLArCalibFlags(flags, isSC=False)