ATLAS Offline Software
Loading...
Searching...
No Matches
python.AODFixConfig Namespace Reference

Functions

 AODFixCfg (flags)

Variables

 _doneAODFixes = set()

Function Documentation

◆ AODFixCfg()

python.AODFixConfig.AODFixCfg ( flags)

Definition at line 11 of file AODFixConfig.py.

11def AODFixCfg(flags):
12
13 nAODFixes=0
14 msg=logging.getLogger("AODFixCfg")
15 aodFixesDone=flags.Input.AODFixesDone
16
17 if isinstance(aodFixesDone,str):
18 aodFixesDone=aodFixesDone.split()
19
20 for doneFix in aodFixesDone:
21 _doneAODFixes.add(doneFix)
22
23 result=ComponentAccumulator()
24
25 # #Add list of known AOD Fixes here:
26 from RecJobTransforms.AODFixEGAmbiguityLinksConfig import AODFixEGAmbiguityLinksCfg
27 listOfFixes=[AODFixEGAmbiguityLinksCfg,]
28
29 for aodFix in listOfFixes:
30 aodFixName=aodFix.__name__
31 if aodFixName in _doneAODFixes:
32 msg.warning("AODFix %s already applied, not applying again",aodFixName)
33
34 ca=aodFix(flags)
35 #The method is supposed to verify if the AOD-fix must be applied for the input data,
36 #typically based on flags.Input.Release. If yes, returns a ComponentAccumulator, otherwise None
37 if ca is not None:
38 msg.info("Applying AOD fix %s",aodFixName)
39 result.merge(ca)
40 _doneAODFixes.add(aodFixName)
41 nAODFixes+=1
42 else:
43 msg.info("AODFix \"%s\" not applicable for this input AOD",aodFixName)
44
45
46 if nAODFixes>0:
47 result.merge(TagInfoMgrCfg(flags,{"AODFixVersion":" ".join(_doneAODFixes)}))
48 else:
49 msg.info("No AOD fix scheduled")
50 return result

Variable Documentation

◆ _doneAODFixes

python.AODFixConfig._doneAODFixes = set()
protected

Definition at line 8 of file AODFixConfig.py.