8 ROOT.gROOT.SetBatch(
True)
9 ROOT.PyConfig.IgnoreCommandLineOptions =
True 16 "CMSSW_6_2_0": {
"default":
"PRE_ST62_V8"},
17 "CMSSW_6_2_0_SLHC15": {
"UPG2019withGEM":
"DES19_62_V8",
"UPG2023SHNoTaper":
"DES23_62_V1"},
18 "CMSSW_6_2_0_SLHC17": {
"UPG2019withGEM":
"DES19_62_V8",
"UPG2023SHNoTaper":
"DES23_62_V1"},
19 "CMSSW_6_2_0_SLHC20": {
"UPG2019withGEM":
"DES19_62_V8",
"UPG2023SHNoTaper":
"DES23_62_V1_UPG2023SHNoTaper"},
20 "CMSSW_6_2_0_SLHC22": {
"UPG2023SHNoTaper":
"PH2_1K_FB_V6_UPG23SHNoTaper",
22 "2023GReco":
"PH2_1K_FB_V6_UPG23SHNoTaper",
"2023GRecoPU35":
"",
"2023GRecoPU140":
"",
"2023GRecoPU200":
"",
23 "2023tilted":
"PH2_1K_FB_V6_UPG23SHNoTaper",
"2023tiltedPU35":
"",
"2023tiltedPU140":
"",
"2023tiltedPU200":
""},
24 "CMSSW_6_2_0_SLHC26": {
"LHCCRefPU140":
"DES23_62_V1_LHCCRefPU140",
"LHCCRefPU200":
"DES23_62_V1_LHCCRefPU200",
26 "2023GReco":
"",
"2023GRecoPU35":
"",
"2023GRecoPU140":
"DES23_62_V1_LHCCRefPU140",
"2023GRecoPU200":
"DES23_62_V1_LHCCRefPU200",
27 "2023tilted":
"",
"2023tiltedPU35":
"",
"2023tiltedPU140":
"DES23_62_V1_LHCCRefPU140",
"2023tiltedPU200":
"DES23_62_V1_LHCCRefPU200"},
28 "CMSSW_6_2_0_SLHC27_phase1": {
"default":
"DES17_62_V8_UPG17"},
29 "CMSSW_7_0_0": {
"default":
"POSTLS170_V3",
"fullsim_50ns":
"POSTLS170_V4"},
30 "CMSSW_7_0_0_AlcaCSA14": {
"default":
"POSTLS170_V5_AlcaCSA14",
"fullsim_50ns":
"POSTLS170_V6_AlcaCSA14"},
31 "CMSSW_7_0_7_pmx": {
"default":
"PLS170_V7AN1",
"fullsim_50ns":
"PLS170_V6AN1"},
32 "CMSSW_7_0_9_patch3": {
"default":
"PLS170_V7AN2",
"fullsim_50ns":
"PLS170_V6AN2"},
33 "CMSSW_7_0_9_patch3_Premix": {
"default":
"PLS170_V7AN2",
"fullsim_50ns":
"PLS170_V6AN2"},
34 "CMSSW_7_1_0": {
"default":
"POSTLS171_V15",
"fullsim_50ns":
"POSTLS171_V16"},
35 "CMSSW_7_1_9": {
"default":
"POSTLS171_V17",
"fullsim_50ns":
"POSTLS171_V18"},
36 "CMSSW_7_1_9_patch2": {
"default":
"POSTLS171_V17",
"fullsim_50ns":
"POSTLS171_V18"},
37 "CMSSW_7_1_10_patch2": {
"default":
"MCRUN2_71_V1",
"fullsim_50ns":
"MCRUN2_71_V0"},
38 "CMSSW_7_2_0_pre5": {
"default":
"POSTLS172_V3",
"fullsim_50ns":
"POSTLS172_V4"},
39 "CMSSW_7_2_0_pre7": {
"default":
"PRE_LS172_V11",
"fullsim_50ns":
"PRE_LS172_V12"},
40 "CMSSW_7_2_0_pre8": {
"default":
"PRE_LS172_V15",
"fullsim_50ns":
"PRE_LS172_V16"},
41 "CMSSW_7_2_0": {
"default":
"PRE_LS172_V15",
"fullsim_50ns":
"PRE_LS172_V16"},
42 "CMSSW_7_2_0_PHYS14": {
"default":
"PHYS14_25_V1_Phys14"},
43 "CMSSW_7_2_2_patch1": {
"default":
"MCRUN2_72_V1",
"fullsim_50ns":
"MCRUN2_72_V0"},
44 "CMSSW_7_2_2_patch1_Fall14DR": {
"default":
"MCRUN2_72_V3_71XGENSIM"},
46 "CMSSW_7_3_0_pre1": {
"default":
"PRE_LS172_V15",
"fullsim_50ns":
"PRE_LS172_V16"},
48 "CMSSW_7_3_0_pre2": {
"default":
"MCRUN2_73_V1",
"fullsim_50ns":
"MCRUN2_73_V0"},
49 "CMSSW_7_3_0_pre3": {
"default":
"MCRUN2_73_V5",
"fullsim_50ns":
"MCRUN2_73_V4"},
50 "CMSSW_7_3_0": {
"default":
"MCRUN2_73_V7",
"fullsim_50ns":
"MCRUN2_73_V6"},
51 "CMSSW_7_3_0_71XGENSIM": {
"default":
"MCRUN2_73_V7_71XGENSIM"},
52 "CMSSW_7_3_0_71XGENSIM_FIXGT": {
"default":
"MCRUN2_73_V9_71XGENSIM_FIXGT"},
53 "CMSSW_7_3_1_patch1": {
"default":
"MCRUN2_73_V9",
"fastsim":
"MCRUN2_73_V7"},
54 "CMSSW_7_3_1_patch1_GenSim_7113": {
"default":
"MCRUN2_73_V9_GenSim_7113"},
55 "CMSSW_7_3_3": {
"default":
"MCRUN2_73_V11",
"fullsim_50ns":
"MCRUN2_73_V10",
"fastsim":
"MCRUN2_73_V13"},
56 "CMSSW_7_4_0_pre1": {
"default":
"MCRUN2_73_V5",
"fullsim_50ns":
"MCRUN2_73_V4"},
57 "CMSSW_7_4_0_pre2": {
"default":
"MCRUN2_73_V7",
"fullsim_50ns":
"MCRUN2_73_V6"},
58 "CMSSW_7_4_0_pre2_73XGENSIM": {
"default":
"MCRUN2_73_V7_73XGENSIM_Pythia6",
"fullsim_50ns":
"MCRUN2_73_V6_73XGENSIM_Pythia6"},
59 "CMSSW_7_4_0_pre5": {
"default":
"MCRUN2_73_V7",
"fullsim_50ns":
"MCRUN2_73_V6"},
60 "CMSSW_7_4_0_pre5_BS": {
"default":
"MCRUN2_73_V9_postLS1beamspot",
"fullsim_50ns":
"MCRUN2_73_V8_postLS1beamspot"},
61 "CMSSW_7_4_0_pre6": {
"default":
"MCRUN2_74_V1",
"fullsim_50ns":
"MCRUN2_74_V0"},
62 "CMSSW_7_4_0_pre8": {
"default":
"MCRUN2_74_V7",
"fullsim_25ns":
"MCRUN2_74_V5_AsympMinGT",
"fullsim_50ns":
"MCRUN2_74_V4_StartupMinGT"},
63 "CMSSW_7_4_0_pre8_minimal": {
"default":
"MCRUN2_74_V5_MinGT",
"fullsim_25ns":
"MCRUN2_74_V5_AsympMinGT",
"fullsim_50ns":
"MCRUN2_74_V4_StartupMinGT"},
64 "CMSSW_7_4_0_pre8_25ns_asymptotic": {
"default":
"MCRUN2_74_V7"},
65 "CMSSW_7_4_0_pre8_50ns_startup": {
"default":
"MCRUN2_74_V6"},
66 "CMSSW_7_4_0_pre8_50ns_asympref": {
"default":
"MCRUN2_74_V5A_AsympMinGT"},
67 "CMSSW_7_4_0_pre8_50ns_asymptotic": {
"default":
"MCRUN2_74_V7A_AsympGT"},
68 "CMSSW_7_4_0_pre8_ROOT6": {
"default":
"MCRUN2_74_V7"},
69 "CMSSW_7_4_0_pre8_pmx": {
"default":
"MCRUN2_74_V7",
"fullsim_50ns":
"MCRUN2_74_V6"},
70 "CMSSW_7_4_0_pre8_pmx_v2": {
"default":
"MCRUN2_74_V7_gs_pre7",
"fullsim_50ns":
"MCRUN2_74_V6_gs_pre7"},
71 "CMSSW_7_4_0_pre8_pmx_v3": {
"default":
"MCRUN2_74_V7_bis",
"fullsim_50ns":
"MCRUN2_74_V6_bis"},
72 "CMSSW_7_4_0_pre9": {
"default":
"MCRUN2_74_V7",
"fullsim_50ns":
"MCRUN2_74_V6"},
73 "CMSSW_7_4_0_pre9_ROOT6": {
"default":
"MCRUN2_74_V7",
"fullsim_50ns":
"MCRUN2_74_V6"},
74 "CMSSW_7_4_0_pre9_extended": {
"default":
"MCRUN2_74_V7_extended"},
75 "CMSSW_7_4_0": {
"default":
"MCRUN2_74_V7_gensim_740pre7",
"fullsim_50ns":
"MCRUN2_74_V6_gensim_740pre7",
"fastsim":
"MCRUN2_74_V7"},
76 "CMSSW_7_4_0_71XGENSIM": {
"default":
"MCRUN2_74_V7_GENSIM_7_1_15",
"fullsim_50ns":
"MCRUN2_74_V6_GENSIM_7_1_15"},
77 "CMSSW_7_4_0_71XGENSIM_PU": {
"default":
"MCRUN2_74_V7_gs7115_puProd",
"fullsim_50ns":
"MCRUN2_74_V6_gs7115_puProd"},
78 "CMSSW_7_4_0_71XGENSIM_PXworst": {
"default":
"MCRUN2_74_V7C_pxWorst_gs7115",
"fullsim_50ns":
"MCRUN2_74_V6A_pxWorst_gs7115"},
79 "CMSSW_7_4_0_71XGENSIM_PXbest": {
"default":
"MCRUN2_74_V7D_pxBest_gs7115",
"fullsim_50ns":
"MCRUN2_74_V6B_pxBest_gs7115"},
80 "CMSSW_7_4_0_pmx": {
"default":
"MCRUN2_74_V7",
"fullsim_50ns":
"MCRUN2_74_V6"},
81 "CMSSW_7_4_1": {
"default":
"MCRUN2_74_V9_gensim_740pre7",
"fullsim_50ns":
"MCRUN2_74_V8_gensim_740pre7",
"fastsim":
"MCRUN2_74_V9"},
82 "CMSSW_7_4_1_71XGENSIM": {
"default":
"MCRUN2_74_V9_gensim71X",
"fullsim_50ns":
"MCRUN2_74_V8_gensim71X"},
83 "CMSSW_7_4_1_extended": {
"default":
"MCRUN2_74_V9_extended"},
84 "CMSSW_7_4_3": {
"default":
"MCRUN2_74_V9",
"fullsim_50ns":
"MCRUN2_74_V8",
"fastsim":
"MCRUN2_74_V9",
"fastsim_25ns":
"MCRUN2_74_V9_fixMem"},
85 "CMSSW_7_4_3_extended": {
"default":
"MCRUN2_74_V9_ext",
"fastsim":
"MCRUN2_74_V9_fixMem"},
86 "CMSSW_7_4_3_pmx": {
"default":
"MCRUN2_74_V9_ext",
"fullsim_50ns":
"MCRUN2_74_V8",
"fastsim":
"MCRUN2_74_V9_fixMem"},
87 "CMSSW_7_4_3_patch1_unsch": {
"default":
"MCRUN2_74_V9_unsch",
"fullsim_50ns":
"MCRUN2_74_V8_unsch"},
88 "CMSSW_7_4_4": {
"default":
"MCRUN2_74_V9_38Tbis",
"fullsim_50ns":
"MCRUN2_74_V8_38Tbis"},
89 "CMSSW_7_4_4_0T": {
"default":
"MCRUN2_740TV1_0Tv2",
"fullsim_50ns":
"MCRUN2_740TV0_0TV2",
"fullsim_25ns":
"MCRUN2_740TV1_0TV2"},
90 "CMSSW_7_4_6_patch6": {
"default":
"MCRUN2_74_V9_scheduled",
"fullsim_50ns":
"MCRUN2_74_V8_scheduled"},
91 "CMSSW_7_4_6_patch6_unsch": {
"default":
"MCRUN2_74_V9",
"fullsim_50ns":
"MCRUN2_74_V8"},
92 "CMSSW_7_4_6_patch6_noCCC": {
"default":
"MCRUN2_74_V9_unsch_noCCC",
"fullsim_50ns":
"MCRUN2_74_V8_unsch_noCCC"},
93 "CMSSW_7_4_6_patch6_noCCC_v3": {
"default":
"MCRUN2_74_V9_unsch_noCCC_v3",
"fullsim_50ns":
"MCRUN2_74_V8_unsch_noCCC_v3"},
94 "CMSSW_7_4_6_patch6_BS": {
"default":
"74X_mcRun2_asymptotic_realisticBS_v0_2015Jul24",
"fullsim_50ns":
"74X_mcRun2_startup_realisticBS_v0_2015Jul24PU",
"fullsim_25ns":
"74X_mcRun2_asymptotic_realisticBS_v0_2015Jul24PU"},
95 "CMSSW_7_4_8_patch1_MT": {
"default":
"MCRUN2_74_V11_mulTrh",
"fullsim_50ns":
"MCRUN2_74_V10_mulTrh",},
96 "CMSSW_7_4_12": {
"default":
"74X_mcRun2_asymptotic_v2",
"fullsim_25ns":
"74X_mcRun2_asymptotic_v2_v2",
"fullsim_50ns":
"74X_mcRun2_startup_v2_v2"},
97 "CMSSW_7_5_0_pre1": {
"default":
"MCRUN2_74_V7",
"fullsim_50ns":
"MCRUN2_74_V6"},
98 "CMSSW_7_5_0_pre2": {
"default":
"MCRUN2_74_V7",
"fullsim_50ns":
"MCRUN2_74_V6"},
99 "CMSSW_7_5_0_pre3": {
"default":
"MCRUN2_74_V7",
"fullsim_50ns":
"MCRUN2_74_V6"},
100 "CMSSW_7_5_0_pre4": {
"default":
"MCRUN2_75_V1",
"fullsim_50ns":
"MCRUN2_75_V0"},
101 "CMSSW_7_5_0_pre5": {
"default":
"MCRUN2_75_V5",
"fullsim_50ns":
"MCRUN2_75_V4"},
102 "CMSSW_7_5_0_pre6": {
"default":
"75X_mcRun2_asymptotic_v1",
"fullsim_50ns":
"75X_mcRun2_startup_v1"},
103 "CMSSW_7_5_0": {
"default":
"75X_mcRun2_asymptotic_v1",
"fullsim_50ns":
"75X_mcRun2_startup_v1"},
104 "CMSSW_7_5_0_71XGENSIM": {
"default":
"75X_mcRun2_asymptotic_v1_gs7115",
"fullsim_50ns":
"75X_mcRun2_startup_v1_gs7115"},
105 "CMSSW_7_5_1": {
"default":
"75X_mcRun2_asymptotic_v3",
"fullsim_50ns":
"75X_mcRun2_startup_v3"},
106 "CMSSW_7_5_1_71XGENSIM": {
"default":
"75X_mcRun2_asymptotic_v3_gs7118",
"fullsim_50ns":
"75X_mcRun2_startup_v3_gs7118"},
107 "CMSSW_7_5_2": {
"default":
"75X_mcRun2_asymptotic_v5",
"fullsim_50ns":
"75X_mcRun2_startup_v4"},
108 "CMSSW_7_6_0_pre1": {
"default":
"75X_mcRun2_asymptotic_v1",
"fullsim_50ns":
"75X_mcRun2_startup_v1"},
109 "CMSSW_7_6_0_pre2": {
"default":
"75X_mcRun2_asymptotic_v2",
"fullsim_50ns":
"75X_mcRun2_startup_v2"},
110 "CMSSW_7_6_0_pre3": {
"default":
"75X_mcRun2_asymptotic_v2",
"fullsim_50ns":
"75X_mcRun2_startup_v2"},
111 "CMSSW_7_6_0_pre4": {
"default":
"76X_mcRun2_asymptotic_v1",
"fullsim_50ns":
"76X_mcRun2_startup_v1"},
112 "CMSSW_7_6_0_pre5": {
"default":
"76X_mcRun2_asymptotic_v1",
"fullsim_50ns":
"76X_mcRun2_startup_v1"},
113 "CMSSW_7_6_0_pre6": {
"default":
"76X_mcRun2_asymptotic_v4",
"fullsim_50ns":
"76X_mcRun2_startup_v4"},
114 "CMSSW_7_6_0_pre7": {
"default":
"76X_mcRun2_asymptotic_v5",
"fullsim_50ns":
"76X_mcRun2_startup_v5",
"fastsim":
"76X_mcRun2_asymptotic_v5_resub"},
115 "CMSSW_7_6_0": {
"default":
"76X_mcRun2_asymptotic_v11",
"fullsim_50ns":
"76X_mcRun2_startup_v11"},
116 "CMSSW_7_6_0_71XGENSIM": {
"default":
"76X_mcRun2_asymptotic_v11_gs7120p2rlBS",
"fullsim_50ns":
"76X_mcRun2_startup_v11_gs7120p2rlBS"},
117 "CMSSW_7_6_2": {
"default":
"76X_mcRun2_asymptotic_v12",
"fullsim_50ns":
"76X_mcRun2_startup_v11"},
118 "CMSSW_7_6_3_patch2_0T": {
"default":
"76X_mcRun2_0T_v1_0Tv1GT"},
119 "CMSSW_8_0_0_pre1": {
"default":
"76X_mcRun2_asymptotic_v11",
"fullsim_50ns":
"76X_mcRun2_startup_v11"},
120 "CMSSW_8_0_0_pre2": {
"default":
"76X_mcRun2_asymptotic_v12",
"fullsim_50ns":
"76X_mcRun2_startup_v11"},
121 "CMSSW_8_0_0_pre2_phase1": {
"default":
"76X_upgrade2017_design_v7"},
122 "CMSSW_8_0_0_pre2_phase1_rereco": {
"default":
"76X_upgrade2017_design_v7_rereco"},
123 "CMSSW_8_0_0_pre3_phase1": {
"default":
"76X_upgrade2017_design_v8"},
124 "CMSSW_8_0_0_pre3_phase1_pythia8": {
"default":
"76X_upgrade2017_design_v8_pythia8"},
125 "CMSSW_8_0_0_pre4": {
"default":
"76X_mcRun2_asymptotic_v13",
"fullsim_50ns":
"76X_mcRun2_startup_v12"},
126 "CMSSW_8_0_0_pre4_phase1": {
"default":
"76X_upgrade2017_design_v8_UPG17"},
127 "CMSSW_8_0_0_pre4_phase1_13TeV": {
"default":
"76X_upgrade2017_design_v8_UPG17"},
128 "CMSSW_8_0_0_pre4_ecal15fb": {
"default":
"80X_mcRun2_asymptotic_2016EcalTune_15fb_v0_ecal15fbm1"},
129 "CMSSW_8_0_0_pre4_ecal30fb": {
"default":
"80X_mcRun2_asymptotic_2016EcalTune_30fb_v0_ecal30fbm1"},
130 "CMSSW_8_0_0_pre5": {
"default":
"80X_mcRun2_asymptotic_v1",
"fullsim_50ns":
"80X_mcRun2_startup_v1"},
131 "CMSSW_8_0_0_pre5_phase1": {
"default":
"80X_upgrade2017_design_v1_UPG17"},
132 "CMSSW_8_0_0_pre6": {
"default":
"80X_mcRun2_asymptotic_v4"},
133 "CMSSW_8_0_0_pre6_phase1": {
"default":
"80X_upgrade2017_design_v3_UPG17"},
134 "CMSSW_8_0_0_pre6_MT": {
"default":
"80X_mcRun2_asymptotic_v4_multiCoreResub"},
135 "CMSSW_8_0_0": {
"default":
"80X_mcRun2_asymptotic_v4"},
136 "CMSSW_8_0_0_patch1_phase1": {
"default":
"80X_upgrade2017_design_v4_UPG17"},
137 "CMSSW_8_0_0_patch1_phase1_rereco": {
"default":
"80X_upgrade2017_design_v4_UPG17_rereco"},
138 "CMSSW_8_0_0_patch2": {
"default":
"80X_mcRun2_asymptotic_v5_refGT"},
139 "CMSSW_8_0_0_patch2_pixDynIneff": {
"default":
"80X_mcRun2_asymptotic_v5_2016PixDynIneff_targetGT"},
142 "CMSSW_8_0_0_patch2": {
"default":
"80X_mcRun2_asymptotic_v5_refGT_resub"},
143 "CMSSW_8_0_0_patch2_pixDynIneff": {
"default":
"80X_mcRun2_asymptotic_v5_2016PixDynIneff_targetGT_resub"},
144 "CMSSW_8_0_1": {
"default":
"80X_mcRun2_asymptotic_v6"},
145 "CMSSW_8_0_1_71XGENSIM": {
"default":
"80X_mcRun2_asymptotic_v6_gs7120p2"},
146 "CMSSW_8_0_1_gcc530": {
"default":
"80X_mcRun2_asymptotic_v6_gcc530"},
147 "CMSSW_8_0_3_71XGENSIM": {
"default":
"80X_mcRun2_asymptotic_2016_v3_gs7120p2NewGTv3"},
148 "CMSSW_8_0_3_71XGENSIM_hcal": {
"default":
"80X_mcRun2_asymptotic_2016_v3_gs71xNewGtHcalCust"},
149 "CMSSW_8_0_3_71XGENSIM_tec": {
"default":
"80X_mcRun2_asymptotic_SiStripBad_TEC_CL62_for2016_v1_mc_gs7120p2TrkCoolLoop"},
150 "CMSSW_8_0_5": {
"default":
"80X_mcRun2_asymptotic_v12_gs7120p2",
"fastsim":
"80X_mcRun2_asymptotic_v12"},
151 "CMSSW_8_0_5_pmx": {
"default":
"80X_mcRun2_asymptotic_v12_gs7120p2_resub",
"fastsim":
"80X_mcRun2_asymptotic_v12"},
152 "CMSSW_8_0_10": {
"default":
"80X_mcRun2_asymptotic_v14"},
153 "CMSSW_8_0_10_patch1_BS": {
"default":
"80X_mcRun2_asymptotic_RealisticBS_25ns_13TeV2016_v1_mc_realisticBS2016"},
154 "CMSSW_8_0_11": {
"default":
"80X_mcRun2_asymptotic_v14"},
155 "CMSSW_8_0_15": {
"default":
"80X_mcRun2_asymptotic_v16_gs7120p2",
"fastsim":
"80X_mcRun2_asymptotic_v16"},
156 "CMSSW_8_0_16": {
"default":
"80X_mcRun2_asymptotic_v16_gs7120p2",
"fastsim":
"80X_mcRun2_asymptotic_v16"},
157 "CMSSW_8_0_16_Tranche4GT": {
"default":
"80X_mcRun2_asymptotic_2016_TrancheIV_v0_gs7120p2_Tranch4GT",
158 "fastsim": {
"default":
"80X_mcRun2_asymptotic_2016_TrancheIV_v0_Tranch4GT",
"RelValTTbar":
"80X_mcRun2_asymptotic_2016_TrancheIV_v0_Tr4GT_resub"},
"fastsim_25ns":
"80X_mcRun2_asymptotic_2016_TrancheIV_v0_Tranch4GT"},
159 "CMSSW_8_0_16_Tranche4GT_v2": {
"default":
"80X_mcRun2_asymptotic_2016_TrancheIV_v2_Tr4GT_v2"},
160 "CMSSW_8_0_16_Tranche4GT_pmx": {
"default":
"80X_mcRun2_asymptotic_2016_TrancheIV_v0_gs7120p2_Tranch4GT",
"fastsim":
"80X_mcRun2_asymptotic_2016_TrancheIV_v0_resub"},
161 "CMSSW_8_0_19_Tranche4GT_v2": {
"default":
"80X_mcRun2_asymptotic_2016_TrancheIV_v2_Tr4GT_v2"},
162 "CMSSW_8_0_20_Tranche4GT": {
"default":
"80X_mcRun2_asymptotic_2016_TrancheIV_v4_Tr4GT_v4"},
163 "CMSSW_8_0_21_Tranche4GT": {
"default":
"80X_mcRun2_asymptotic_2016_TrancheIV_v6_Tr4GT_v6"},
164 "CMSSW_8_1_0_pre1": {
"default":
"80X_mcRun2_asymptotic_v6"},
165 "CMSSW_8_1_0_pre1_phase1": {
"default":
"80X_upgrade2017_design_v4_UPG17",
"fullsim_25ns":
"80X_upgrade2017_design_v4_UPG17PU35"},
166 "CMSSW_8_1_0_pre2": {
"default":
"80X_mcRun2_asymptotic_v10_gs810pre2",
"fastsim":
"80X_mcRun2_asymptotic_v10"},
167 "CMSSW_8_1_0_pre2_phase1": {
"default":
"80X_upgrade2017_design_v9_UPG17designGT",
"fullsim_25ns":
"80X_upgrade2017_design_v9_UPG17PU35designGT"},
168 "CMSSW_8_1_0_pre2_phase1_realGT": {
"default":
"80X_upgrade2017_realistic_v1_UPG17realGT",
"fullsim_25ns":
"80X_upgrade2017_realistic_v1_UPG17PU35realGT"},
169 "CMSSW_8_1_0_pre3": {
"default":
"80X_mcRun2_asymptotic_v12"},
170 "CMSSW_8_1_0_pre3_phase1": {
"default":
"80X_upgrade2017_realistic_v3_UPG17",
"fullsim_25ns":
"80X_upgrade2017_realistic_v3_UPG17PU35"},
171 "CMSSW_8_1_0_pre4": {
"default":
"80X_mcRun2_asymptotic_v13"},
172 "CMSSW_8_1_0_pre4_phase1": {
"default":
"80X_upgrade2017_realistic_v4_UPG17",
"fullsim_25ns":
"80X_upgrade2017_realistic_v4_UPG17PU35"},
173 "CMSSW_8_1_0_pre5": {
"default":
"80X_mcRun2_asymptotic_v13"},
174 "CMSSW_8_1_0_pre5_phase1": {
"default":
"80X_upgrade2017_realistic_v4_resubUPG17",
"fullsim_25ns":
"80X_upgrade2017_realistic_v4_resubUPG17PU35"},
175 "CMSSW_8_1_0_pre6": {
"default":
"80X_mcRun2_asymptotic_v14"},
176 "CMSSW_8_1_0_pre6_phase1": {
"default":
"81X_upgrade2017_realistic_v0_UPG17",
"fullsim_25ns":
"81X_upgrade2017_realistic_v0_UPG17PU35"},
177 "CMSSW_8_1_0_pre7": {
"default":
"81X_mcRun2_asymptotic_v0"},
178 "CMSSW_8_1_0_pre7_phase1": {
"default":
"81X_upgrade2017_realistic_v2_UPG17",
"fullsim_25ns":
"81X_upgrade2017_realistic_v2_UPG17PU35"},
179 "CMSSW_8_1_0_pre7_phase1_newGT": {
"default":
"81X_upgrade2017_realistic_v3_UPG17newGT",
"fullsim_25ns":
"81X_upgrade2017_realistic_v3_UPG17PU35newGTresub"},
180 "CMSSW_8_1_0_pre7_phase2": {
"2023GReco":
"81X_mcRun2_asymptotic_v0_2023GReco",
"2023GRecoPU35":
"",
"2023GRecoPU140":
"81X_mcRun2_asymptotic_v0_2023GRecoPU140resubmit2",
"2023GRecoPU200":
"81X_mcRun2_asymptotic_v0_2023GRecoPU200resubmit2",
181 "2023tilted":
"81X_mcRun2_asymptotic_v0_2023tilted",
"2023tiltedPU35":
"",
"2023tiltedPU140":
"81X_mcRun2_asymptotic_v0_2023tiltedPU140resubmit2",
"2023tiltedPU200":
"81X_mcRun2_asymptotic_v0_2023tiltedPU200resubmit2"},
182 "CMSSW_8_1_0_pre8": {
"default":
"81X_mcRun2_asymptotic_v1"},
183 "CMSSW_8_1_0_pre8_phase1": {
"default":
"81X_upgrade2017_realistic_v3_UPG17",
"fullsim_25ns":
"81X_upgrade2017_realistic_v3_UPG17PU35"},
184 "CMSSW_8_1_0_pre8_phase1_newGT": {
"default":
"81X_upgrade2017_realistic_v4_UPG17newGT",
"fullsim_25ns":
"81X_upgrade2017_realistic_v4_UPG17PU35newGT"},
185 "CMSSW_8_1_0_pre8_phase1_newGT2": {
"default":
"81X_upgrade2017_realistic_v5_UPG17newGTset2",
"fullsim_25ns":
"81X_upgrade2017_realistic_v5_UPG17PU35newGTset2"},
186 "CMSSW_8_1_0_pre8_phase2": {
"2023GReco":
"81X_mcRun2_asymptotic_v1_resub2023GReco",
"2023GRecoPU35":
"81X_mcRun2_asymptotic_v1_resub2023GRecoPU35",
"2023GRecoPU140":
"81X_mcRun2_asymptotic_v1_resub2023GRecoPU140",
"2023GRecoPU200":
"81X_mcRun2_asymptotic_v1_resub2023GRecoPU200",
187 "2023tilted":
"81X_mcRun2_asymptotic_v1_2023tilted",
"2023tiltedPU35":
"81X_mcRun2_asymptotic_v1_2023tiltedPU",
"2023tiltedPU140":
"81X_mcRun2_asymptotic_v1_2023tiltedPU140",
"2023tiltedPU200":
"81X_mcRun2_asymptotic_v1_2023tiltedPU200"},
188 "CMSSW_8_1_0_pre9": {
"default":
"81X_mcRun2_asymptotic_v2"},
189 "CMSSW_8_1_0_pre9_Geant4102": {
"default":
"81X_mcRun2_asymptotic_v2"},
190 "CMSSW_8_1_0_pre9_phase1": {
"default":
"81X_upgrade2017_realistic_v5_UPG17",
"fullsim_25ns":
"81X_upgrade2017_realistic_v5_UPG17PU35"},
191 "CMSSW_8_1_0_pre9_phase1_newGT": {
"default":
"81X_upgrade2017_realistic_v6_UPG17newGT",
"fullsim_25ns":
"81X_upgrade2017_realistic_v6_UPG17PU35newGT"},
192 "CMSSW_8_1_0_pre10": {
"default":
"81X_mcRun2_asymptotic_v5_recycle",
"fullsim_25ns":
"81X_mcRun2_asymptotic_v5_resub",
"fastsim":
"81X_mcRun2_asymptotic_v5"},
193 "CMSSW_8_1_0_pre10_pmx": {
"default":
"81X_mcRun2_asymptotic_v5"},
194 "CMSSW_8_1_0_pre10_phase1": {
"default":
"81X_upgrade2017_realistic_v9_UPG17resub",
"fullsim_25ns":
"81X_upgrade2017_realistic_v9_UPG17PU35resub"},
195 "CMSSW_8_1_0_pre11": {
"default":
"81X_mcRun2_asymptotic_Candidate_2016_08_30_11_31_55",
"fullsim_25ns":
"81X_mcRun2_asymptotic_Candidate_2016_08_30_11_31_55_resub",
"fastsim_25ns":
"81X_mcRun2_asymptotic_Candidate_2016_08_30_11_31_55_resub2"},
196 "CMSSW_8_1_0_pre11_pmx": {
"default":
"81X_mcRun2_asymptotic_Candidate_2016_08_30_11_31_55"},
197 "CMSSW_8_1_0_pre11_phase1": {
"default":
"81X_upgrade2017_realistic_v9_UPG17",
"fullsim_25ns":
"81X_upgrade2017_realistic_v9_UPG17PU35"},
198 "CMSSW_8_1_0_pre12": {
"default":
"81X_mcRun2_asymptotic_v8",
"fullsim_25ns":
"81X_mcRun2_asymptotic_v8_resub",
"fastsim":
"81X_mcRun2_asymptotic_v8_resub",
"fastsim_25ns":
"81X_mcRun2_asymptotic_v8"},
199 "CMSSW_8_1_0_pre12_pmx": {
"default":
"81X_mcRun2_asymptotic_v8_resub",
"fastsim_25ns":
"81X_mcRun2_asymptotic_v8_rsub"},
200 "CMSSW_8_1_0_pre12_phase1": {
"default":
"81X_upgrade2017_realistic_v13"},
201 "CMSSW_8_1_0_pre12_phase1_newBPix": {
"default":
"81X_upgrade2017_realistic_newBPix_wAlign_v1_BpixGeom"},
202 "CMSSW_8_1_0_pre12_phase1_newBPixFPix": {
"default":
"81X_upgrade2017_realistic_v13_BpixFpixGeom"},
203 "CMSSW_8_1_0_pre12_phase1_newBPixFPixHCAL": {
"default":
"81X_upgrade2017_HCALdev_v2_BpixFpixHcalGeom"},
204 "CMSSW_8_1_0_pre12_phase1_newHCAL": {
"default":
"81X_upgrade2017_HCALdev_v2_HcalGeom"},
205 "CMSSW_8_1_0_pre12_phase1_newBPixHCAL": {
"default":
"81X_upgrade2017_HCALdev_v2_NewBPix_BpixHcalGeom"},
206 "CMSSW_8_1_0_pre15": {
"default":
"81X_mcRun2_asymptotic_v11"},
207 "CMSSW_8_1_0_pre15_HIP": {
"default":
"81X_mcRun2_asymptotic_v11_hip"},
208 "CMSSW_8_1_0_pre15_PU": {
"default":
"81X_mcRun2_asymptotic_v11_M17"},
209 "CMSSW_8_1_0_pre15_PU_HIP": {
"default":
"81X_mcRun2_asymptotic_v11_hipM17"},
210 "CMSSW_8_1_0_pre15_phase1": {
"default":
"81X_upgrade2017_realistic_v17_BpixFpixHcalGeom",
211 "Design":
"81X_upgrade2017_design_IdealBS_v1_2017design",
"Design_fullsim_25ns":
"81X_upgrade2017_design_IdealBS_v1_design"},
212 "CMSSW_8_1_0_pre16": {
"default":
"81X_mcRun2_asymptotic_v11"},
213 "CMSSW_8_1_0_pre16_phase1": {
"default":
"81X_upgrade2017_realistic_v22",
"Design":
"81X_upgrade2017_design_IdealBS_v6"},
214 "CMSSW_8_1_0": {
"default":
"81X_mcRun2_asymptotic_v12"},
215 "CMSSW_8_1_0_phase1": {
"default":
"81X_upgrade2017_realistic_v26_HLT2017"},
216 "CMSSW_9_0_0_pre1": {
"default":
"90X_mcRun2_asymptotic_v0"},
217 "CMSSW_9_0_0_pre1_phase1": {
"default":
"90X_upgrade2017_realistic_v0",
218 "Design":
"90X_upgrade2017_design_IdealBS_v0",
"Design_fullsim_25ns":
"90X_upgrade2017_design_IdealBS_v0_resub"},
219 "CMSSW_9_0_0_pre2": {
"default":
"90X_mcRun2_asymptotic_v0"},
220 "CMSSW_9_0_0_pre2_ROOT6": {
"default":
"90X_mcRun2_asymptotic_v0"},
221 "CMSSW_9_0_0_pre2_phase1": {
"default":
"90X_upgrade2017_realistic_v0",
222 "Design":
"90X_upgrade2017_design_IdealBS_v0",
"Design_fullsim_25ns":
"90X_upgrade2017_design_IdealBS_v0_resub"},
223 "CMSSW_9_0_0_pre4": {
"default":
"90X_mcRun2_asymptotic_v1",
"fullsim_25ns":
"90X_mcRun2_asymptotic_v1_resub"},
224 "CMSSW_9_0_0_pre4_phase1": {
"default":
"90X_upgrade2017_realistic_v6",
"fullsim_25ns_PU50":
"Nonexistent",
225 "Design":
"90X_upgrade2017_design_IdealBS_v6"},
226 "CMSSW_9_0_0_pre4_GS": {
"default":
"90X_mcRun2_asymptotic_v1_GSval",
"fullsim_25ns":
"90X_mcRun2_asymptotic_v1_GSval"},
227 "CMSSW_9_0_0_pre4_phase1_ecalsrb5": {
"default":
"90X_upgrade2017_realistic_v6_B5"},
228 "CMSSW_9_0_0_pre4_phase1_ecalsrc1": {
"default":
"90X_upgrade2017_realistic_v6_C1"},
229 "CMSSW_9_0_0_pre4_phase1_ecalsrd7": {
"default":
"90X_upgrade2017_realistic_v6_D7"},
230 "CMSSW_9_0_0_pre5": {
"default":
"90X_mcRun2_asymptotic_v4"},
231 "CMSSW_9_0_0_pre5_pmx": {
"default":
"90X_mcRun2_asymptotic_v4",
"fastsim_25ns":
"90X_mcRun2_asymptotic_v4_resub"},
232 "CMSSW_9_0_0_pre5_phase1": {
"default":
"90X_upgrade2017_realistic_v15",
233 "fullsim_25ns_PU35":
"90X_upgrade2017_realistic_v15_resub",
"fullsim_25ns_PU50":
"90X_upgrade2017_realistic_v15_PU50",
234 "Design":
"90X_upgrade2017_design_IdealBS_v15"},
235 "CMSSW_9_0_0_pre6": {
"default":
"90X_mcRun2_asymptotic_v4"},
236 "CMSSW_9_0_0_pre6_phase1": {
"default":
"90X_upgrade2017_realistic_v15",
237 "fullsim_25ns_PU50":
"90X_upgrade2017_realistic_v15_PU50",
238 "Design":
"90X_upgrade2017_design_IdealBS_v15"},
239 "CMSSW_9_0_0": {
"default":
"90X_mcRun2_asymptotic_v5"},
240 "CMSSW_9_0_0_phase1": {
"default":
"90X_upgrade2017_realistic_v20_resub",
241 "fullsim_25ns_PU50":
"90X_upgrade2017_realistic_v20_PU50_resub",
242 "Design":
"90X_upgrade2017_design_IdealBS_v19_resub"},
243 "CMSSW_9_0_0_gcc630": {
"default":
"90X_mcRun2_asymptotic_v5_gcc630"},
244 "CMSSW_9_0_0_phase1_gcc630": {
"default":
"90X_upgrade2017_realistic_v20_gcc630"},
245 "CMSSW_9_0_0_cc7": {
"default":
"90X_mcRun2_asymptotic_v5_cc7"},
246 "CMSSW_9_0_0_phase1_cc7": {
"default":
"90X_upgrade2017_realistic_v20_cc7_rsb"},
247 "CMSSW_9_0_2_phase1": {
"default":
"90X_upgrade2017_realistic_v20",
248 "fullsim_25ns_PU50":
"90X_upgrade2017_realistic_v20_PU50",
249 "Design":
"90X_upgrade2017_design_IdealBS_v19"},
250 "CMSSW_9_1_0_pre1": {
"default":
"90X_mcRun2_asymptotic_v5"},
251 "CMSSW_9_1_0_pre1_phase1": {
"default":
"90X_upgrade2017_realistic_v20",
252 "fullsim_25ns_PU50":
"90X_upgrade2017_realistic_v20_PU50",
253 "Design":
"90X_upgrade2017_design_IdealBS_v19_resub"},
254 "CMSSW_9_1_0_pre2": {
"default":
"90X_mcRun2_asymptotic_v5"},
255 "CMSSW_9_1_0_pre2_phase1": {
"default":
"90X_upgrade2017_realistic_v20",
256 "fullsim_25ns_PU50":
"90X_upgrade2017_realistic_v20_PU50",
257 "Design":
"90X_upgrade2017_design_IdealBS_v19"},
258 "CMSSW_9_1_0_pre3": {
"default":
"91X_mcRun2_asymptotic_v2"},
259 "CMSSW_9_1_0_pre3_phase1": {
"default":
"91X_upgrade2017_realistic_v3",
260 "fullsim_25ns_PU50":
"91X_upgrade2017_realistic_v3_PU50_resub",
261 "Design":
"91X_upgrade2017_design_IdealBS_v3"},
262 "CMSSW_9_2_0": {
"default":
"91X_mcRun2_asymptotic_v3"},
263 "CMSSW_9_2_0_phase1": {
"default":
"91X_upgrade2017_realistic_v5",
264 "fullsim_25ns_PU50":
"91X_upgrade2017_realistic_v5_PU50",
265 "Design":
"91X_upgrade2017_design_IdealBS_v5"},
266 "CMSSW_9_2_0_phase1_PXmap": {
"default":
"91X_upgrade2017_realistic_v5_pixel_ideal_PXgeom"},
267 "CMSSW_9_2_1_phase1": {
"default":
"92X_upgrade2017_realistic_v1",
268 "fullsim_25ns_PU50":
"92X_upgrade2017_realistic_v1_PU50",
269 "Design":
"92X_upgrade2017_design_IdealBS_v1"},
270 "CMSSW_9_2_2": {
"default":
"91X_mcRun2_asymptotic_v3"},
271 "CMSSW_9_2_2_phase1": {
"default":
"92X_upgrade2017_realistic_v1",
272 "fullsim_25ns_PU50":
"92X_upgrade2017_realistic_v1_highPU_AVE50",
273 "Design":
"92X_upgrade2017_design_IdealBS_v1"},
274 "CMSSW_9_2_4_run1": {
"default":
"91X_mcRun1_realistic_v2"},
275 "CMSSW_9_2_4": {
"default":
"91X_mcRun2_asymptotic_v3"},
276 "CMSSW_9_2_7_phase1": {
"default":
"92X_upgrade2017_realistic_v7"},
277 "CMSSW_9_3_0_pre1": {
"default":
"92X_mcRun2_asymptotic_v2"},
278 "CMSSW_9_3_0_pre1_phase1": {
"default":
"92X_upgrade2017_realistic_v7",
279 "fullsim_25ns_PU50":
"92X_upgrade2017_realistic_v7_highPU_AVE50",
280 "Design":
"92X_upgrade2017_design_IdealBS_v7"},
281 "CMSSW_9_3_0_pre1_run1": {
"default":
"92X_mcRun1_realistic_v2"},
282 "CMSSW_9_3_0_pre2": {
"default":
"92X_mcRun2_asymptotic_v2"},
283 "CMSSW_9_3_0_pre2_phase1": {
"default":
"92X_upgrade2017_realistic_v7",
284 "fullsim_25ns_PU50":
"92X_upgrade2017_realistic_v7_highPU_AVE50_resub",
285 "Design":
"92X_upgrade2017_design_IdealBS_v7"},
286 "CMSSW_9_3_0_pre3": {
"default":
"92X_mcRun2_asymptotic_v2"},
287 "CMSSW_9_3_0_pre3_phase1": {
"default":
"92X_upgrade2017_realistic_v10_resub",
288 "fullsim_25ns_PU50":
"92X_upgrade2017_realistic_v10_highPU_AVE50_resub",
289 "Design":
"92X_upgrade2017_design_IdealBS_v10_resub"},
290 "CMSSW_9_3_0_pre3_phase1_pmx": {
"default":
"92X_upgrade2017_realistic_v10_resub2"},
291 "CMSSW_9_3_0_pre4": {
"default":
"93X_mcRun2_asymptotic_v0"},
292 "CMSSW_9_3_0_pre4_phase1": {
"default":
"93X_mc2017_realistic_v1",
293 "fullsim_25ns_PU50":
"93X_mc2017_realistic_v1_highPU_AVE50",
294 "Design":
"93X_mc2017_design_IdealBS_v1"},
295 "CMSSW_9_3_0_pre5": {
"default":
"93X_mcRun2_asymptotic_v0"},
296 "CMSSW_9_3_0_pre5_phase1": {
"default":
"93X_mc2017_realistic_v2",
297 "fullsim_25ns_PU50":
"93X_mc2017_realistic_v2_highPU_AVE50",
298 "Design":
"93X_mc2017_design_IdealBS_v2"},
299 "CMSSW_9_4_0_pre1": {
"default":
"93X_mcRun2_asymptotic_v1"},
300 "CMSSW_9_4_0_pre1_phase1": {
"default":
"93X_mc2017_realistic_v3",
301 "fullsim_25ns_PU50":
"93X_mc2017_realistic_v3_highPU_AVE50",
302 "Design":
"93X_mc2017_design_IdealBS_v3"},
303 "CMSSW_9_4_0_pre2": {
"default":
"93X_mcRun2_asymptotic_v2"},
304 "CMSSW_9_4_0_pre2_phase1": {
"default":
"94X_mc2017_realistic_v1",
305 "fullsim_25ns_PU50":
"94X_mc2017_realistic_v1_highPU_AVE50",
306 "Design":
"94X_mc2017_design_IdealBS_v0"},
307 "CMSSW_9_4_0_pre3": {
"default":
"94X_mcRun2_asymptotic_v0"},
308 "CMSSW_9_4_0_pre3_phase1": {
"default":
"94X_mc2017_realistic_v4",
309 "fullsim_25ns_PU50":
"94X_mc2017_realistic_v4_highPU_AVE50",
310 "Design":
"94X_mc2017_design_IdealBS_v4"},
311 "CMSSW_9_4_0": {
"default":
"94X_mcRun2_asymptotic_v0"},
312 "CMSSW_9_4_0_phase1": {
"default":
"94X_mc2017_realistic_v10",
313 "fullsim_25ns_PU50":
"94X_mc2017_realistic_v10_highPU_AVE50",
314 "Design":
"94X_mc2017_design_IdealBS_v5"},
317 _releasePostfixes = [
"_AlcaCSA14",
"_PHYS14",
"_TEST",
"_v2",
"_v3",
"_pmx",
"_Fall14DR",
"_FIXGT",
"_PU",
"_PXbest",
"_PXworst",
"_hcal",
"_tec",
"_71XGENSIM",
"_73XGENSIM",
"_BS",
"_GenSim_7113",
"_extended",
318 "_25ns_asymptotic",
"_50ns_startup",
"_50ns_asympref",
"_50ns_asymptotic",
"_minimal",
"_0T",
"_unsch",
"_noCCC",
"_MT",
"_GS",
"_rereco",
"_pythia8",
"_13TeV",
"_realGT",
"_newGT2",
"_newGT",
"_phase1",
"_phase2",
"_ecal15fb",
"_ecal30fb",
"_ecalsrb5",
"_ecalsrc1",
"_ecalsrd7",
"_pixDynIneff",
"_PXmap",
"_gcc530",
"_gcc630",
"_cc7",
"_Tranche4GT",
"_newBPixFPixHCAL",
"_newBPixFPix",
"_newBPixHCAL",
"_newBPix",
"_newHCAL",
"_HIP",
"_run1"]
320 for pf
in _releasePostfixes:
330 sample -- Sample object 331 release -- CMSSW release string 333 if not release
in _globalTags:
334 print "Release %s not found from globaltag map in validation.py" % release
336 gtmap = _globalTags[release]
338 if sample.hasOverrideGlobalTag():
339 ogt = sample.overrideGlobalTag()
341 gtmap = _globalTags[ogt[release]]
343 if sample.hasScenario():
344 scenario = sample.scenario()
347 if sample.pileupEnabled():
348 sim =
"fullsim_"+sample.pileupType()
350 sim+
"_PU%d"%sample.pileupNumber(),
353 elif sample.fastsim():
355 if sample.pileupEnabled():
356 sim +=
"_"+sample.pileupType()
357 sims.append(sim+
"_PU%d"%sample.pileupNumber())
364 selectedGT = gtmap.get(scenario+
"_"+sim,
None)
365 if selectedGT
is not None:
368 if selectedGT
is None:
369 selectedGT = gtmap.get(scenario,
None)
371 if selectedGT
is None:
373 selectedGT = gtmap.get(sim,
None)
374 if selectedGT
is not None:
377 if selectedGT
is None:
378 selectedGT = gtmap[
"default"]
380 if isinstance(selectedGT, dict):
381 return selectedGT.get(sample.name(), selectedGT[
"default"])
387 "6_2_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_6_2_x/",
388 "7_0_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_7_0_x/",
389 "7_1_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_7_1_x/",
390 "7_2_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_7_2_x/",
391 "7_3_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_7_3_x/",
392 "7_4_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_7_4_x/",
393 "7_5_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_7_5_x/",
394 "7_6_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_7_6_x/",
395 "8_0_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_8_0_x/",
396 "8_1_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_8_1_x/",
397 "9_0_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_9_0_x/",
398 "9_1_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_9_1_x/",
399 "9_2_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_9_2_x/",
400 "9_3_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_9_3_x/",
401 "9_4_X":
"https://cmsweb.cern.ch/dqm/relval/data/browse/ROOT/RelVal/CMSSW_9_4_x/",
404 _doElectronSamples = [
406 "RelValSingleElectronPt35",
407 "RelValSingleElectronPt10",
409 _doConversionSamples = [
411 "RelValH125GGgluonfusion",
413 _doBHadronSamples = [
418 """Get RelVal download URL for a given release.""" 419 version_re = re.compile(
"CMSSW_(?P<X>\d+)_(?P<Y>\d+)")
420 m = version_re.search(release)
422 raise Exception(
"Regex %s does not match to release version %s" % (version_re.pattern, release))
423 version =
"%s_%s_X" % (m.group(
"X"), m.group(
"Y"))
424 if not version
in _relvalUrls:
425 print "No RelVal URL for version %s, please update _relvalUrls" % version
427 return _relvalUrls[version]
430 if plotterFolder.onlyForPileup()
and not sample.pileupEnabled():
432 if plotterFolder.onlyForElectron()
and not sample.doElectron():
434 if plotterFolder.onlyForConversion()
and not sample.doConversion():
436 if plotterFolder.onlyForBHadron()
and not sample.doBHadron():
441 """Represents a RelVal sample.""" 442 def __init__(self, sample, append=None, midfix=None, putype=None, punum=0,
443 fastsim=
False, fastsimCorrespondingFullsimPileup=
None,
444 doElectron=
None, doConversion=
None, doBHadron=
None,
445 version=
"v1", dqmVersion=
"0001", scenario=
None, overrideGlobalTag=
None, appendGlobalTag=
""):
449 sample -- String for name of the sample 452 append -- String for a variable name within the DWM file names, to be directly appended to sample name (e.g. "HS"; default None) 453 midfix -- String for a variable name within the DQM file names, to be appended after underscore to "sample name+append" (e.g. "13", "UP15"; default None) 454 putype -- String for pileup type (e.g. "25ns"/"50ns" for FullSim, "AVE20" for FastSim; default None) 455 punum -- String for amount of pileup (default None) 456 fastsim -- Bool indicating the FastSim status (default False) 457 fastsimCorrespondingFullSimPileup -- String indicating what is the FullSim pileup sample corresponding this FastSim sample. Must be set if fastsim=True and putype!=None (default None) 458 doElectron -- Bool specifying if electron-specific plots should be produced (default depends on sample) 459 doConversion -- Bool specifying if conversion-specific plots should be produced (default depends on sample) 460 doBHadron -- Bool specifying if B-hadron-specific plots should be produced (default depends on sample) 461 version -- String for dataset/DQM file version (default "v1") 462 scenario -- Geometry scenario for upgrade samples (default None) 463 overrideGlobalTag -- GlobalTag obtained from release information (in the form of {"release": "actualRelease"}; default None) 464 appendGlobalTag -- String to append to GlobalTag (intended for one-time hacks; default "") 479 if doElectron
is not None:
483 if doConversion
is not None:
487 if doBHadron
is not None:
490 self.
_doBHadron = (sample
in _doBHadronSamples)
496 """Return a tuple uniquely identifying the sample, to be used e.g. as a key to dict""" 500 """Get the sample name""" 504 """Get the sample name""" 511 """Return True if sample has pileup (for HTML generation)""" 512 return self.
_putype is not None 515 """Return True if pileup plots are enabled (for plot generation)""" 519 """Return "PU"/"noPU" corresponding the pileup status""" 526 """Return the pileup type""" 527 if isinstance(self.
_putype, dict):
528 return self._putype.get(release, self.
_putype[
"default"])
546 return self._version.get(release, self.
_version[
"default"])
563 """Return True for FastSim sample""" 567 """Return True for FullSim sample""" 573 def dirname(self, newRepository, newRelease, newSelection):
574 """Return the output directory name 577 newRepository -- String for base directory for output files 578 newRelease -- String for CMSSW release 579 newSelection -- String for histogram selection 584 return "{newRepository}/{newRelease}/{newSelection}{pileup}/{sample}".
format(
585 newRepository=newRepository, newRelease=newRelease, newSelection=newSelection,
586 pileup=pileup, sample=sample)
589 """Return the DQM file name 592 newRelease -- String for CMSSW release 617 fname =
'DQM_V{dqmVersion}_R000000001__{sample}{midfix}__{newrelease}-{pileup}{globaltag}{appendGlobalTag}{fastsim}-{version}__DQMIO.root'.
format(
618 sample=sample, midfix=midfix, newrelease=
_stripRelease(newRelease),
619 pileup=pileup, globaltag=globalTag, appendGlobalTag=self.
_appendGlobalTag, fastsim=fastsim,
626 """Return the dataset pattern 629 newRelease -- String for CMSSW release 637 fastsim =
"_FastSim-" 642 return "{sample}/{newrelease}-{pileup}{globaltag}{fastsim}{version}/GEN-SIM-{digi}RECO".
format(
643 sample=self.
_sample, newrelease=newRelease,
644 pileup=pileup, globaltag=globalTag, fastsim=fastsim, digi=digi,
645 version=self.
version(newRelease)
649 """Base class for Tracking/Vertex validation.""" 650 def __init__(self, fullsimSamples, fastsimSamples, refRelease, refRepository, newRelease, newRepository, newFileModifier=None, selectionName=""):
654 fullsimSamples -- List of Sample objects for FullSim samples (may be empty) 655 fastsimSamples -- List of Sample objects for FastSim samples (may be empty) 656 refRelease -- String for reference CMSSW release (can be None for no reference release) 657 newRepository -- String for directory whete to put new files 658 newRelease -- CMSSW release to be validated 659 refRepository -- String for directory where reference root files are 660 newFileModifier -- If given, a function to modify the names of the new files (function takes a string and returns a string) 661 selectionName -- If given, use this string as the selection name (appended to GlobalTag for directory names) 666 print >>sys.stderr,
'Error: CMSSW environment variables are not available.' 667 print >>sys.stderr,
' Please run cmsenv' 686 """Download DQM files. Requires grid certificate and asks your password for it.""" 690 filenames =
filter(
lambda f:
not os.path.exists(f), filenames)
691 if len(filenames) == 0:
692 print "All files already downloaded" 696 urls = [relvalUrl+f
for f
in filenames]
697 certfile = os.path.join(os.environ[
"HOME"],
".globus",
"usercert.pem")
698 if not os.path.exists(certfile):
699 print "Certificate file {certfile} does not exist, unable to download RelVal files from {url}".
format(certfile=certfile, url=relvalUrl)
701 keyfile = os.path.join(os.environ[
"HOME"],
".globus",
"userkey.pem")
702 if not os.path.exists(certfile):
703 print "Private key file {keyfile} does not exist, unable to download RelVal files from {url}".
format(keyfile=keyfile, url=relvalUrl)
707 cmd = [
"curl",
"--cert-type",
"PEM",
"--cert", certfile,
"--key", keyfile,
"-k"]
709 cmd.extend([
"-O", u])
710 print "Downloading %d files from RelVal URL %s:" % (len(filenames), relvalUrl)
711 print " "+
"\n ".
join(filenames)
712 print "Please provide your private key pass phrase when curl asks it" 713 ret = subprocess.call(cmd)
715 print "Downloading failed with exit code %d" % ret
721 p = subprocess.Popen([
"file", f], stdout=subprocess.PIPE)
722 stdout = p.communicate()[0]
723 if p.returncode != 0:
724 print "file command failed with exit code %d" % p.returncode
726 if not "ROOT" in stdout:
727 print "File {f} is not ROOT, please check the correct version, GlobalTag etc. from {url}".
format(f=f, url=relvalUrl)
729 if os.path.exists(f):
737 def doPlots(self, plotter, plotterDrawArgs={}, limitSubFoldersOnlyTo=None, htmlReport=html.HtmlReportDummy(), doFastVsFull=
True, doPhase2PU=
False):
738 """Create validation plots. 741 plotter -- plotting.Plotter object that does the plotting 744 plotterDrawArgs -- Dictionary for additional arguments to Plotter.draw() (default: {}) 745 limitSubFoldersOnlyTo -- If not None, should be a dictionary from string to an object. The string is the name of a PlotFolder, and the object is PlotFolder-type specific to limit the subfolders to be processed. In general case the object is a list of strings, but e.g. for track iteration plots it is a function taking the algo and quality as parameters. 746 htmlReport -- Object returned by createHtmlReport(), in case HTML report generation is desired 747 doFastVsFull -- Do FastSim vs. FullSim comparison? (default: True) 748 doPhase2PU -- Do Phase2 PU 200 vs. 140 comparison (default: False) 757 if not os.path.exists(harvestedFile):
758 print "Harvested file %s does not exist!" % harvestedFile
761 plotterInstance = plotter.readDirs(harvestedFile)
762 htmlReport.beginSample(sample)
763 for plotterFolder, dqmSubFolder
in plotterInstance.iterFolders(limitSubFoldersOnlyTo=limitSubFoldersOnlyTo):
766 plotFiles = self.
_doPlots(sample, harvestedFile, plotterFolder, dqmSubFolder, htmlReport)
767 htmlReport.addPlots(plotterFolder, dqmSubFolder, plotFiles)
779 correspondingFull =
None 781 if fast.name() != full.name():
783 if fast.pileupEnabled():
784 if not full.pileupEnabled():
786 if fast.fastsimCorrespondingFullsimPileup() != full.pileupType():
789 if full.pileupEnabled():
792 if correspondingFull
is None:
793 correspondingFull = full
795 raise Exception(
"Got multiple compatible FullSim samples for FastSim sample %s %s" % (fast.name(), fast.pileup()))
796 if correspondingFull
is None:
797 print "WARNING: Did not find compatible FullSim sample for FastSim sample %s %s, omitting FastSim vs. FullSim comparison" % (fast.name(), fast.pileup())
802 plotterInstance = self._plotter.readDirs(harvestedFile)
803 htmlReport.beginSample(fast, fastVsFull=
True)
804 for plotterFolder, dqmSubFolder
in plotterInstance.iterFolders(limitSubFoldersOnlyTo=limitSubFoldersOnlyTo):
807 plotFiles = self.
_doPlotsFastFull(fast, correspondingFull, plotterFolder, dqmSubFolder, htmlReport)
808 htmlReport.addPlots(plotterFolder, dqmSubFolder, plotFiles)
811 def _stripScenario(name):
812 puindex = name.find(
"PU")
815 return name[:puindex]
819 if sample.pileupNumber() == 140:
820 key = (sample.name(), _stripScenario(sample.scenario()))
821 if key
in pu140samples:
822 raise Exception(
"Duplicate entry for sample %s in scenario %s" % (sample.name(), sample.scenar()))
823 pu140samples[key] = sample
826 if sample.pileupNumber() != 200:
828 key = (sample.name(), _stripScenario(sample.scenario()))
829 if not key
in pu140samples:
832 sample_pu140 = pu140samples[key]
836 plotterInstance = self._plotter.readDirs(harvestedFile)
837 htmlReport.beginSample(sample, pileupComparison=
"vs. PU140")
838 for plotterFolder, dqmSubFolder
in plotterInstance.iterFolders(limitSubFoldersOnlyTo=limitSubFoldersOnlyTo):
841 plotFiles = self.
_doPlotsPileup(sample_pu140, sample, plotterFolder, dqmSubFolder, htmlReport)
842 htmlReport.addPlots(plotterFolder, dqmSubFolder, plotFiles)
850 def _createRefSelection(selectionName):
851 sel = refGlobalTag+selectionNameBase+selectionName
852 if sample.pileupEnabled():
857 refSelection = _createRefSelection(plotterFolder.getSelectionName(dqmSubFolder))
861 triedRefValFiles = []
865 for selName
in plotterFolder.getSelectionNameIterator(dqmSubFolder):
866 refSel = _createRefSelection(selName)
867 refdir = os.path.join(*(tmp+[refSel, sample.name()]))
870 refValFilePath = os.path.join(refdir, valname)
871 if os.path.exists(refValFilePath):
872 refSelection = refSel
873 refValFile = ROOT.TFile.Open(refValFilePath)
876 triedRefValFiles.append(refValFilePath)
877 if refValFile
is None:
878 if len(triedRefValFiles) == 1:
880 print "Reference file %s not found" % triedRefValFiles[0]
883 print "None of the possible reference files %s not found" %
",".
join(triedRefValFiles)
885 return (refValFile, refSelection)
887 def _doPlots(self, sample, harvestedFile, plotterFolder, dqmSubFolder, htmlReport):
888 """Do the real plotting work for a given sample and DQM subfolder""" 893 selectionNameBase =
"_"+sample.pileup()
894 newSelection = newGlobalTag+selectionNameBase+plotterFolder.getSelectionName(dqmSubFolder)
895 if sample.pileupEnabled():
898 newSelection +=
"_"+newPu
900 valname =
"val.{sample}.root".
format(sample=sample.name())
903 (refValFile, refSelection) = self.
_getRefFileAndSelection(sample, plotterFolder, dqmSubFolder, selectionNameBase, valname)
909 tmp.extend([newSelection, sample.name()])
910 newsubdir = os.path.join(*tmp)
912 if not os.path.exists(newdir):
914 valnameFullPath = os.path.join(newdir, valname)
918 newValFile =
_copySubDir(harvestedFile, valnameFullPath, plotterFolder.getPossibleDQMFolders(), dqmSubFolder.subfolder
if dqmSubFolder
is not None else None)
923 print "Comparing ref and new {sim} {sample} {translatedFolder}".
format(
924 sim=
"FullSim" if not sample.fastsim()
else "FastSim",
925 sample=sample.name(), translatedFolder=
str(dqmSubFolder.translated)
if dqmSubFolder
is not None else "")
926 rootFiles = [refValFile, newValFile]
931 plotterFolder.create(rootFiles, legendLabels, dqmSubFolder, isPileupSample=sample.pileupEnabled())
932 fileList.extend(plotterFolder.draw(directory=newdir, **self.
_plotterDrawArgs))
934 if len(fileList) > 0:
935 fileList.append(valnameFullPath)
938 for tableCreator
in plotterFolder.getTableCreators():
939 htmlReport.addTable(tableCreator.create(rootFiles, legendLabels, dqmSubFolder))
942 if refValFile
is not None:
945 if len(fileList) == 0:
950 print "Plotter produced multiple files with names",
", ".
join(dups)
951 print "Typically this is a naming problem in the plotter configuration" 955 print "Created plots and %s in %s" % (valname, newdir)
956 return map(
lambda n: n.replace(newdir, newsubdir), fileList)
958 def _doPlotsFastFull(self, fastSample, fullSample, plotterFolder, dqmSubFolder, htmlReport):
959 """Do the real plotting work for FastSim vs. FullSim for a given algorithm, quality flag, and sample.""" 965 tmp = plotterFolder.getSelectionName(dqmSubFolder)
966 fastSelection = fastGlobalTag+
"_"+fastSample.pileup()+tmp
967 fullSelection = fullGlobalTag+
"_"+fullSample.pileup()+tmp
968 if fullSample.pileupEnabled():
969 fullSelection +=
"_"+fullSample.pileupType(self.
_newRelease)
970 fastSelection +=
"_"+fastSample.pileupType(self.
_newRelease)
974 fulldir = os.path.join(self.
_newBaseDir, fullSelection, fullSample.name())
975 newsubdir = os.path.join(
"fastfull", self.
_newRelease, fastSelection, fastSample.name())
977 if not os.path.exists(newdir):
981 valname =
"val.{sample}.root".
format(sample=fastSample.name())
982 fastValFilePath = os.path.join(fastdir, valname)
983 if not os.path.exists(fastValFilePath)
and plotting.verbose:
984 print "FastSim file %s not found" % fastValFilePath
985 fullValFilePath = os.path.join(fulldir, valname)
986 if not os.path.exists(fullValFilePath)
and plotting.verbose:
987 print "FullSim file %s not found" % fullValFilePath
989 fastValFile = ROOT.TFile.Open(fastValFilePath)
990 fullValFile = ROOT.TFile.Open(fullValFilePath)
994 print "Comparing FullSim and FastSim {sample} {translatedFolder}".
format(
995 sample=fastSample.name(), translatedFolder=
str(dqmSubFolder.translated)
if dqmSubFolder
is not None else "")
996 rootFiles = [fullValFile, fastValFile]
1001 plotterFolder.create(rootFiles, legendLabels, dqmSubFolder, isPileupSample=fastSample.pileupEnabled(), requireAllHistograms=
True)
1005 for tableCreator
in plotterFolder.getTableCreators():
1006 htmlReport.addTable(tableCreator.create(rootFiles, legendLabels, dqmSubFolder))
1011 if len(fileList) == 0:
1016 print "Plotter produced multiple files with names",
", ".
join(dups)
1017 print "Typically this is a naming problem in the plotter configuration" 1021 print "Created plots in %s" % (newdir)
1022 return map(
lambda n: n.replace(newdir, newsubdir), fileList)
1024 def _doPlotsPileup(self, pu140Sample, pu200Sample, plotterFolder, dqmSubFolder, htmlReport):
1025 """Do the real plotting work for two pileup scenarios for a given algorithm, quality flag, and sample.""" 1031 tmp = plotterFolder.getSelectionName(dqmSubFolder)
1032 pu140Selection = pu140GlobalTag+
"_"+pu140Sample.pileup()+tmp+
"_"+pu140Sample.pileupType(self.
_newRelease)
1033 pu200Selection = pu200GlobalTag+
"_"+pu200Sample.pileup()+tmp+
"_"+pu200Sample.pileupType(self.
_newRelease)
1036 pu140dir = os.path.join(self.
_newBaseDir, pu140Selection, pu140Sample.name())
1037 pu200dir = os.path.join(self.
_newBaseDir, pu200Selection, pu200Sample.name())
1038 newsubdir = os.path.join(
"pileup", self.
_newRelease, pu200Selection, pu200Sample.name())
1039 newdir = os.path.join(self.
_newBaseDir, newsubdir)
1040 if not os.path.exists(newdir):
1044 valname =
"val.{sample}.root".
format(sample=pu140Sample.name())
1045 pu140ValFilePath = os.path.join(pu140dir, valname)
1046 if not os.path.exists(pu140ValFilePath):
1047 if plotting.verbose:
1048 print "PU140 file %s not found" % pu140ValFilePath
1050 pu200ValFilePath = os.path.join(pu200dir, valname)
1051 if not os.path.exists(pu200ValFilePath):
1052 if plotting.verbose:
1053 print "PU200 file %s not found" % pu200ValFilePath
1056 pu140ValFile = ROOT.TFile.Open(pu140ValFilePath)
1057 pu200ValFile = ROOT.TFile.Open(pu200ValFilePath)
1060 if plotting.verbose:
1061 print "Comparing PU140 and PU200 {sample} {translatedFolder}".
format(
1062 sample=pu200Sample.name(), translatedFolder=
str(dqmSubFolder.translated)
if dqmSubFolder
is not None else "")
1063 rootFiles = [pu140ValFile, pu200ValFile]
1068 plotterFolder.create(rootFiles, legendLabels, dqmSubFolder, isPileupSample=pu140Sample.pileupEnabled(), requireAllHistograms=
True)
1072 for tableCreator
in plotterFolder.getTableCreators():
1073 htmlReport.addTable(tableCreator.create(rootFiles, legendLabels, dqmSubFolder))
1075 pu200ValFile.Close()
1076 pu140ValFile.Close()
1078 if len(fileList) == 0:
1083 print "Plotter produced multiple files with names",
", ".
join(dups)
1084 print "Typically this is a naming problem in the plotter configuration" 1088 print "Created plots in %s" % (newdir)
1089 return map(
lambda n: n.replace(newdir, newsubdir), fileList)
1093 """Copy a subdirectory from oldfile to newfile. 1096 oldfile -- String for source TFile 1097 newfile -- String for destination TFile 1098 basenames -- List of strings for base directories, first existing one is picked 1099 dirname -- String for directory name under the base directory 1101 oldf = ROOT.TFile.Open(oldfile)
1104 for basename
in basenames:
1105 dirold = oldf.GetDirectory(basename)
1109 raise Exception(
"Did not find any of %s directories from file %s" % (
",".
join(basenames), oldfile))
1111 d = dirold.Get(dirname)
1113 raise Exception(
"Did not find directory %s under %s" % (dirname, dirold.GetPath()))
1116 newf = ROOT.TFile.Open(newfile,
"RECREATE")
1118 for d
in basenames[0].
split(
"/"):
1119 dirnew = dirnew.mkdir(d)
1121 dirnew = dirnew.mkdir(dirname)
1128 """Copy non-TTree objects from src TDirectory to dst TDirectory.""" 1129 keys = src.GetListOfKeys()
1131 classname = key.GetClassName()
1132 cl = ROOT.TClass.GetClass(classname)
1135 if not (cl.InheritsFrom(
"TTree")
and cl.InheritsFrom(
"TDirectory")):
1152 def __init__(self, label, name, fileLegends, pileup=True, customPileupLabel=""):
1198 if not os.path.exists(newdir):
1205 raise Exception(
"HTML report object already created. There is probably some logic error in the calling code.")
1209 def doPlots(self, plotters, plotterDrawArgs={}, **kwargs):
1215 self._htmlReport.beginSample(sample)
1218 for f
in sample.files():
1219 if os.path.exists(f):
1220 self._openFiles.append(ROOT.TFile.Open(f))
1222 print "File %s not found (from sample %s), ignoring it" % (f, sample.name())
1223 self._openFiles.append(
None)
1225 for plotter
in plotters:
1234 plotterInstance = plotter.readDirs(*self.
_openFiles)
1235 for plotterFolder, dqmSubFolder
in plotterInstance.iterFolders(limitSubFoldersOnlyTo=limitSubFoldersOnlyTo):
1238 plotFiles = self.
_doPlots(plotterFolder, dqmSubFolder)
1239 if len(plotFiles) > 0:
1240 self._htmlReport.addPlots(plotterFolder, dqmSubFolder, plotFiles)
1244 newsubdir = self.
_subdirprefix+plotterFolder.getSelectionName(dqmSubFolder)
1245 newdir = os.path.join(self.
_newdir, newsubdir)
1246 if not os.path.exists(newdir):
1250 for tableCreator
in plotterFolder.getTableCreators():
1251 self._htmlReport.addTable(tableCreator.create(self.
_openFiles, self.
_labels, dqmSubFolder))
1254 if len(fileList) == 0:
1259 print "Plotter produced multiple files with names",
", ".
join(dups)
1260 print "Typically this is a naming problem in the plotter configuration" 1263 print "Created plots in %s" % newdir
1264 return map(
lambda n: n.replace(newdir, newsubdir), fileList)
_fastsimCorrespondingFullsimPileup
def _getGlobalTag(sample, release)
def _doPlotsPileup(self, pu140Sample, pu200Sample, plotterFolder, dqmSubFolder, htmlReport)
def createHtmlReport(self, validationName="")
def _getSelectionName(self, args, kwargs)
def customPileupLabel(self)
def dirname(self, newRepository, newRelease, newSelection)
def filename(self, newRelease)
def _getDirectoryName(self, args, kwargs)
def __init__(self, label, name, fileLegends, pileup=True, customPileupLabel="")
def datasetpattern(self, newRelease)
def _doPlots(self, plotterFolder, dqmSubFolder)
def pileupType(self, release=None)
def _doFastsimFastVsFullPlots(self, limitSubFoldersOnlyTo, htmlReport)
def _getRelValUrl(release)
def _stripRelease(release)
def _processPlotsForSample(plotterFolder, sample)
def hasOverrideGlobalTag(self)
def _doPlotsFastFull(self, fastSample, fullSample, plotterFolder, dqmSubFolder, htmlReport)
def version(self, release=None)
def doPlots(self, plotters, plotterDrawArgs={}, kwargs)
def __init__(self, fullsimSamples, fastsimSamples, refRelease, refRepository, newRelease, newRepository, newFileModifier=None, selectionName="")
static std::string join(char **cmd)
def _copySubDir(oldfile, newfile, basenames, dirname)
def _doPhase2PileupPlots(self, limitSubFoldersOnlyTo, htmlReport)
def doPlots(self, plotter, plotterDrawArgs={}, limitSubFoldersOnlyTo=None, htmlReport=html.HtmlReportDummy(), doFastVsFull=True, doPhase2PU=False)
def __init__(self, sample, append=None, midfix=None, putype=None, punum=0, fastsim=False, fastsimCorrespondingFullsimPileup=None, doElectron=None, doConversion=None, doBHadron=None, version="v1", dqmVersion="0001", scenario=None, overrideGlobalTag=None, appendGlobalTag="")
def fastsimCorrespondingFullsimPileup(self)
def createHtmlReport(self)
def _doPlotsForPlotter(self, plotter, sample, limitSubFoldersOnlyTo=None)
def __init__(self, samples, newdir)
def _getRefFileAndSelection(self, sample, plotterFolder, dqmSubFolder, selectionNameBase, valname)
def _doPlots(self, sample, harvestedFile, plotterFolder, dqmSubFolder, htmlReport)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
def overrideGlobalTag(self)