10 from LArCalibProcessing.LArCalibBaseConfig
import LArCalibBaseCfg,chanSelStr
13 from IOVDbSvc.IOVDbSvcConfig
import addFolders
16 if flags.LArCalib.isSC:
17 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBMCSCCfg
21 result.merge(
addFolders(flags,
"/LAR/ElecCalibMC/Shape",detDb=
"LAR_OFL", db=
"OFLP200",tag=
"LARElecCalibMCShapeLArPileupShape-RUN2-2018",className=
"LArShape32MC",modifiers=
"<key>LArShapeMC</key>"))
22 result.merge(
addFolders(flags,
"/LAR/ElecCalibMC/fSampl",detDb=
"LAR_OFL", db=
"OFLP200",tag=
"LARElecCalibMCfSampl-G4101-20371-FTFP_BERT_BIRK_v2",className=
"LArfSamplMC"))
23 result.merge(
addFolders(flags,
"/LAR/ElecCalibMC/MinBias",detDb=
"LAR_OFL", db=
"OFLP200",tag=
"LARElecCalibMCMinBias-mc16-Epos-A3-s3687",className=
"LArMinBiasMC"))
25 result.addCondAlgo(CompFactory.LArMCSymCondAlg())
27 LArShapeSymAlg = CompFactory.getComp(
"LArSymConditionsAlg<LArShape32MC, LArShape32Sym>")
28 result.addCondAlgo(
LArShapeSymAlg(ReadKey=
"LArShapeMC",WriteKey=
"LArShapeSym"))
30 LArfSamplSymAlg = CompFactory.getComp(
"LArSymConditionsAlg<LArfSamplMC, LArfSamplSym>")
31 result.addCondAlgo(
LArfSamplSymAlg(ReadKey=
"LArfSampl", WriteKey=
"LArfSamplSym"))
33 LArMinBiasSymAlg = CompFactory.getComp(
"LArSymConditionsAlg<LArMinBiasMC, LArMinBiasSym>")
34 result.addCondAlgo(
LArMinBiasSymAlg(ReadKey=
"LArMinBias",WriteKey=
"LArMinBiasSym"))
36 from LArCalibProcessing.utils
import FolderTagResolver
37 FolderTagResolver._globalTag=flags.IOVDb.GlobalTag
38 if flags.LArCalib.isSC:
39 FolderTagResolver._defaultSuffix=
"-UPD3-00"
40 rs=FolderTagResolver(dbname=
"sqlite://;schema=%s;dbname=CONDBR2"%flags.LArCalib.Input.Database)
41 AutoCorrTag=rs.getFolderTag(flags.LArCalib.AutoCorr.Folder)
42 PedestalTag=rs.getFolderTag(flags.LArCalib.Pedestal.Folder)
43 RampTag=rs.getFolderTag(flags.LArCalib.Ramp.Folder)
44 MpMcTag=rs.getFolderTag(flags.LArCalib.MphysOverMcal.Folder)
45 rsac=FolderTagResolver(dbname=
"COOLOFL_LAR/CONDBR2")
46 PhysAutoCorrTag= rsac.getFolderTag(flags.LArCalib.PhysAutoCorr.Folder)
47 nColl=flags.LArCalib.OFC.Ncoll
49 if "mu" in PhysAutoCorrTag
and str(nColl)
not in PhysAutoCorrTag:
51 elems=PhysAutoCorrTag.split(
"_")
52 elems1=elems[2].
split(
"-")
53 PhysAutoCorrTag=
"-".
join([elems[0]+
"_mu_%i"%nColl,]+elems1[1:])
56 elif "mu" not in PhysAutoCorrTag:
58 elems=PhysAutoCorrTag.split(
"-")
59 PhysAutoCorrTag=
"-".
join([elems[0]+
"_mu_%i"%nColl,]+elems[1:])
61 print(
"PhysAutoCorrTag: ",PhysAutoCorrTag)
65 result.merge(
addFolders(flags,flags.LArCalib.AutoCorr.Folder,detDb=flags.LArCalib.Input.Database, tag=AutoCorrTag, modifiers=
chanSelStr(flags)+
"<key>LArAutoCorr</key>",
66 className=
"LArAutoCorrComplete"))
67 result.merge(
addFolders(flags,flags.LArCalib.Pedestal.Folder,detDb=flags.LArCalib.Input.Database, tag=PedestalTag, modifiers=
chanSelStr(flags)+
"<key>LArPedestal</key>",
68 className=
"LArPedestalComplete"))
69 result.merge(
addFolders(flags,flags.LArCalib.Ramp.Folder,detDb=flags.LArCalib.Input.Database, tag=RampTag, modifiers=
chanSelStr(flags),
70 className=
"LArRampComplete"))
71 result.merge(
addFolders(flags,flags.LArCalib.MphysOverMcal.Folder,detDb=flags.LArCalib.Input.Database, tag=MpMcTag, modifiers=
chanSelStr(flags),
72 className=
"LArMphysOverMcalComplete"))
76 if flags.LArCalib.isSC:
77 requiredConditions=[
"DAC2uA",
"HVScaleCorr"]
81 requiredConditions=[
"DAC2uA",
"uA2MeV",
"HVScaleCorr"]
82 if flags.LArCalib.isSC:
83 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBSCCfg
85 mapKey=
"LArOnOffIdMapSC"
86 bcKey =
"LArBadChannelSC"
88 DACKey =
"LArDAC2uASC"
89 HVKey =
"LArHVScaleCorrSC"
91 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBCfg
93 mapKey=
"LArOnOffIdMap"
94 bcKey =
"LArBadChannel"
97 HVKey =
"LArHVScaleCorr"
99 result.addCondAlgo(CompFactory.LArADC2MeVCondAlg(UseFEBGainTresholds=
False,LArOnOffIdMappingKey=mapKey,CompleteDetector=
False,LAruA2MeVKey=uAKey,LArDAC2uAKey=DACKey,LArHVScaleCorrKey=HVKey,isSuperCell=flags.LArCalib.isSC))
101 theLArAutoCorrTotalCondAlg=CompFactory.LArAutoCorrTotalCondAlg()
102 theLArAutoCorrTotalCondAlg.Nsamples=flags.LArCalib.OFC.Nsamples
104 theLArAutoCorrTotalCondAlg.deltaBunch=
int(flags.Beam.BunchSpacing/( 25.*ns)+0.5)
105 theLArAutoCorrTotalCondAlg.isSuperCell=flags.LArCalib.isSC
106 theLArAutoCorrTotalCondAlg.isMC=
False
107 theLArAutoCorrTotalCondAlg.LArAutoCorrObjKey=
"LArAutoCorr"
108 theLArAutoCorrTotalCondAlg.LArAutoCorrTotalObjKey=
"LArPhysAutoCorr"
109 theLArAutoCorrTotalCondAlg.LArOnOffIdMappingObjKey=mapKey
110 theLArAutoCorrTotalCondAlg.LArPedestalObjKey=
"LArPedestal"
111 if flags.LArCalib.isSC:
112 theLArAutoCorrTotalCondAlg.LArShapeObjKey =
"LArShapeSC"
113 theLArAutoCorrTotalCondAlg.LArfSamplObjKey =
"LArfSamplSC"
114 theLArAutoCorrTotalCondAlg.LArMinBiasObjKey =
"LArMinBiasSC"
116 result.addCondAlgo(theLArAutoCorrTotalCondAlg)
118 result.addEventAlgo(CompFactory.LArAutoCorrAlgToDB(GroupingType=flags.LArCalib.GroupingType,
119 NMinbias=nColl,isSC=flags.LArCalib.isSC))
123 rootfile=flags.LArCalib.Output.ROOTFile
125 result.addEventAlgo(CompFactory.LArAutoCorr2Ntuple(ContainerKey=
"LArPhysAutoCorr",OffId=
True,isSC=flags.LArCalib.isSC,
126 BadChanKey=bcKey, AddCalib=
True))
128 if os.path.exists(rootfile):
130 result.addService(CompFactory.NTupleSvc(Output = [
"FILE1 DATAFILE='"+rootfile+
"' OPT='NEW'" ]))
131 result.setAppProperty(
"HistogramPersistency",
"ROOT")
136 from RegistrationServices.OutputConditionsAlgConfig
import OutputConditionsAlgCfg
138 outputFile=flags.LArCalib.Output.POOLFile,
139 ObjectList=[
"LArAutoCorrComplete#LArPhysAutoCorr#"+flags.LArCalib.PhysAutoCorr.Folder,],
140 IOVTagList=[PhysAutoCorrTag,],
141 Run1=flags.LArCalib.IOVStart,
142 Run2=flags.LArCalib.IOVEnd
147 result.addService(CompFactory.IOVRegistrationSvc(RecreateFolders =
False))
148 result.getService(
"IOVDbSvc").DBInstance=
""
152 from McEventSelector.McEventSelectorConfig
import McEventSelectorCfg
154 RunNumber = flags.LArCalib.Input.RunNumbers[0],
157 InitialTimeStamp = 0,
158 TimeStampInterval = 1))
161 from PerfMonComps.PerfMonCompsConfig
import PerfMonMTSvcCfg