10def EventReaderAlgCfg(flags, name="EventReaderAlgCfg", **kwargs):
11 from IOVDbSvc.IOVDbSvcConfig import addFolders
12
13 acc = ComponentAccumulator()
14
15 isMC = flags.Input.isMC
16
17
18 kwargs.setdefault("doAssocTopoCluster711Dump", False)
19 kwargs.setdefault("doClusterDump", False)
20 kwargs.setdefault("doPhotonDump", False)
21 kwargs.setdefault("doTruthEventDump", isMC)
22 kwargs.setdefault("doTruthPartDump", isMC)
23 kwargs.setdefault("doLArEMBHitsDump", isMC)
24
25 kwargs.setdefault("skipEmptyEvents", True)
26 kwargs.setdefault("noBadCells", False)
27 kwargs.setdefault("printCellsClus", False)
28
29
30 kwargs.setdefault("electronEtaCut", 1.4)
31 kwargs.setdefault("doTagAndProbe", True)
32 kwargs.setdefault("doElecSelectByTrackOnly", True)
33 kwargs.setdefault("getAssociatedTopoCluster", True)
34 kwargs.setdefault("getLArCalibConstants", True)
35 kwargs.setdefault("etMinProbe", 15)
36 kwargs.setdefault("etMinTag", 15)
37 kwargs.setdefault("minZeeMassTP", 66)
38 kwargs.setdefault("maxZeeMassTP", 116)
39
40
41 kwargs.setdefault("EventInfoContainerKey" , "EventInfo")
42 kwargs.setdefault("PrimaryVertexContainerKey" , "PrimaryVertices")
43 kwargs.setdefault("CaloClusterContainerKey" , "CaloCalTopoClusters")
44 kwargs.setdefault("TruthParticleContainerKey" , "TruthParticles")
45 kwargs.setdefault("ElectronContainerKey" , "Electrons")
46 kwargs.setdefault("TruthEventContainerKey" , "TruthEvents")
47 kwargs.setdefault("LArEMBHitContainerKey" , "LArHitEMB_ClusterThinned")
48 kwargs.setdefault("LArRawChannelContainerKey" , "LArRawChannels_ClusterThinned")
49 kwargs.setdefault("CaloCellContainerKey" , "AllCalo_ClusterThinned")
50 kwargs.setdefault("LArDigitContainerKey" , "LArDigitContainer_ClusterThinned")
51
52 if (kwargs.get("doElecSelectByTrackOnly")):
53 kwargs.setdefault("MyElectronSelectionKey" , "MySelectedElectrons")
54 else:
55 kwargs.setdefault("MyElectronSelectionKey" , "MyTagAndProbeElectrons")
56
57 kwargs.setdefault("isMC", isMC)
58
59
60
61
62
63
64 from LArCabling.LArCablingConfig import LArFebRodMappingCfg, LArOnOffIdMappingCfg
65 acc.merge (LArFebRodMappingCfg (flags))
66 acc.merge (LArOnOffIdMappingCfg (flags))
67
68
69 from CaloCellCorrection.CaloCellCorrectionConfig import CaloCellPedestalCorrCfg
70 acc.popToolsAndMerge(CaloCellPedestalCorrCfg(flags))
71
72 obj = "AthenaAttributeList"
73
74
75 if not isMC:
76
77 if 'COMP200' in flags.IOVDb.DatabaseInstance:
78 obj='LArDSPThresholdsComplete'
79 dbString = 'COMP200'
80 fldThr='/LAR/Configuration/DSPThreshold/Thresholds'
81 obj='LArDSPThresholdsComplete'
82
83 kwargs.setdefault("Run2DSPThresholdsKey", fldThr)
84 acc.merge(addFolders(flags,fldThr, "LAR_ONL", className=obj, db=dbString))
85
86 else:
87 fldThr="/LAR/Configuration/DSPThresholdFlat/Thresholds"
88 fldOflEneResc="/LAR/CellCorrOfl/EnergyCorr"
89 fsampl="/LAR/ElecCalibMC/fSampl"
90 dbString="CONDBR2"
91
92 kwargs.setdefault("Run2DSPThresholdsKey", fldThr)
93 kwargs.setdefault("OflEneRescalerKey", fldOflEneResc)
94 kwargs.setdefault("fSamplKey", fsampl)
95
96 acc.merge(addFolders(flags,fldThr, "LAR_ONL", className=obj, db=dbString))
97 acc.merge(addFolders(flags,[fldOflEneResc,], "LAR_OFL", className="AthenaAttributeList"))
98
99 from LArConfiguration.LArElecCalibDBConfig import LArElecCalibDBCfg
100 acc.merge(LArElecCalibDBCfg(flags, ["OFC", "Pedestal", "Shape"]))
101
102
103 else:
104 from LArRecUtils.LArRecUtilsConfig import LArOFCCondAlgCfg
105 acc.merge(LArOFCCondAlgCfg(flags))
106
107 if flags.GeoModel.Run is LHCPeriod.Run1:
108 fldThr = ''
109 else:
110 dbString="OFLP200"
111 fldThr=""
112 fldOflEneResc=""
113
114 kwargs.setdefault("Run2DSPThresholdsKey",fldThr)
115 kwargs.setdefault("OflEneRescalerKey", fldOflEneResc)
116
117
118 from LArRecUtils.LArADC2MeVCondAlgConfig import LArADC2MeVCondAlgCfg
119 acc.merge(LArADC2MeVCondAlgCfg(flags))
120
121 from LArBadChannelTool.LArBadChannelConfig import LArBadChannelCfg, LArBadFebCfg
122 acc.merge(LArBadFebCfg(flags))
123 acc.merge(LArBadChannelCfg(flags))
124
125
126 EventReaderAlg = CompFactory.EventReaderAlg(name, **kwargs)
127 acc.addEventAlgo(EventReaderAlg)
128
129 return acc
130
131