2 from Campaigns.Utils
import Campaign, getMCCampaign
3 from AnalysisAlgorithmsConfig.ConfigAccumulator
import DataType
7 """ Returns the list of lumicalc files for a given campaign """
10 'GoodRunsLists/data15_13TeV/20170619/PHYS_StandardGRL_All_Good_25ns_276262-284484_OflLumi-13TeV-008.root',
11 'GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_297730-311481_OflLumi-13TeV-009.root'
14 'GoodRunsLists/data17_13TeV/20180619/physics_25ns_Triggerno17e33prim.lumicalc.OflLumi-13TeV-010.root'
17 'GoodRunsLists/data18_13TeV/20190318/ilumicalc_histograms_None_348885-364292_OflLumi-13TeV-010.root'
20 'GoodRunsLists/data15_13TeV/20170619/PHYS_StandardGRL_All_Good_25ns_276262-284484_OflLumi-13TeV-008.root',
21 'GoodRunsLists/data16_13TeV/20180129/PHYS_StandardGRL_All_Good_25ns_297730-311481_OflLumi-13TeV-009.root'
24 'GoodRunsLists/data17_13TeV/20180619/physics_25ns_Triggerno17e33prim.lumicalc.OflLumi-13TeV-010.root'
27 'GoodRunsLists/data18_13TeV/20190318/ilumicalc_histograms_None_348885-364292_OflLumi-13TeV-010.root'
30 'GoodRunsLists/data22_13p6TeV/20230207/ilumicalc_histograms_None_431810-440613_OflLumi-Run3-003.root'
33 'GoodRunsLists/data22_13p6TeV/20230207/ilumicalc_histograms_None_431810-440613_OflLumi-Run3-003.root'
36 'GoodRunsLists/data23_13p6TeV/20230828/ilumicalc_histograms_None_451587-456749_OflLumi-Run3-003.root'
39 'GoodRunsLists/data23_13p6TeV/20230828/ilumicalc_histograms_None_451587-456749_OflLumi-Run3-003.root'
42 'GoodRunsLists/data24_13p6TeV/20241118/ilumicalc_histograms_None_473235-486706_OflLumi-Run3-005.root'
47 return ilumical_files[campaign]
49 raise ValueError(f
'Unsupported campaign {campaign} for lumicalc files')
55 if campaign
in [Campaign.MC16d, Campaign.MC20d]:
57 'GoodRunsLists/data17_13TeV/20180619/physics_25ns_Triggerno17e33prim.actualMu.OflLumi-13TeV-010.root'
59 elif campaign
in [Campaign.MC16e, Campaign.MC20e]:
61 'GoodRunsLists/data18_13TeV/20190318/physics_25ns_Triggerno17e33prim.actualMu.OflLumi-13TeV-010.root'
63 elif campaign
in [Campaign.MC21a, Campaign.MC23a]:
65 'GoodRunsLists/data22_13p6TeV/20230207/purw.actualMu.2022.root'
67 elif campaign
in [Campaign.MC23c, Campaign.MC23d]:
69 'GoodRunsLists/data23_13p6TeV/20230828/purw.actualMu.2023.root'
71 elif campaign
in [Campaign.MC23e]:
73 'GoodRunsLists/data24_13p6TeV/20241118/purw.actualMu.root'
76 if campaign
in [Campaign.MC16d, Campaign.MC20d, Campaign.MC16e, Campaign.MC20e, Campaign.MC21a, Campaign.MC23a, Campaign.MC23c, Campaign.MC23d, Campaign.MC23e]:
77 assert(len(list) == 1)
79 assert(len(list) == 0)
87 if campaign
in [Campaign.MC20a]:
89 'PileupReweighting/mc20_common/mc20a.284500.physlite.prw.v1.root'
91 elif campaign
in [Campaign.MC20d]:
93 'PileupReweighting/mc20_common/mc20d.300000.physlite.prw.v1.root'
95 elif campaign
in [Campaign.MC20e]:
97 'PileupReweighting/mc20_common/mc20e.310000.physlite.prw.v1.root'
99 elif campaign
in [Campaign.MC21a]:
101 'PileupReweighting/mc21_common/mc21a.410000.physlite.prw.v1.root'
103 elif campaign
in [Campaign.MC23a]:
105 'PileupReweighting/mc23_common/mc23a.410000.physlite.prw.v2.root'
107 elif campaign
in [Campaign.MC23c]:
109 'PileupReweighting/mc23_common/mc23c.450000.physlite.prw.v1.root'
111 elif campaign
in [Campaign.MC23d]:
113 'PileupReweighting/mc23_common/mc23d.450000.physlite.prw.v1.root'
115 elif campaign
in [Campaign.MC23e]:
117 'PileupReweighting/mc23_common/mc23e.470000.physlite.prw.v1.root'
120 raise ValueError(f
'Unsupported campaign {campaign}')
122 assert(len(list) == 1)
129 default_directory =
'dev/PileupReweighting/share'
130 configuration_files = []
132 if files
is not None and (campaign
is None or dsid
is None or data_type
is None):
136 if dsid
is None or data_type
is None:
137 from AthenaConfiguration.AutoConfigFlags
import GetFileMD
140 dsid =
str(metadata.get(
'mc_channel_number', 0))
141 if data_type
is None:
142 simulation_flavour =
GetFileMD(files).
get(
'Simulator',
'')
143 if not simulation_flavour:
144 simulation_flavour =
GetFileMD(files).
get(
'SimulationFlavour',
'')
145 data_type = DataType.FullSim
if (
not simulation_flavour
or 'FullG4' in simulation_flavour)
else DataType.FastSim
148 if data_type
is DataType.Data:
149 raise ValueError(
'Data is not supported')
151 if data_type
is DataType.FullSim:
152 simulation_type =
'FS'
153 elif data_type
is DataType.FastSim:
154 simulation_type =
'AF3'
156 raise ValueError(f
'Invalid data_type {data_type}')
161 return configuration_files
163 config = f
'{default_directory}/DSID{dsid[:3]}xxx/pileup_{campaign.value}_dsid{dsid}_{simulation_type}.root'
164 from PathResolver
import PathResolver
168 configuration_files.append(config)
169 return configuration_files