Loading [MathJax]/jax/input/TeX/config.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
80 #ifndef XAOD_STANDALONE
88 #define CONFIG_EG_EFF_TOOL( TOOLHANDLE, TOOLNAME, CORRFILE ) \
89 if( !TOOLHANDLE.isUserConfigured() ) { \
90 TOOLHANDLE.setTypeAndName("AsgElectronEfficiencyCorrectionTool/"+TOOLNAME); \
91 std::vector< std::string > corrFileNameList = {CORRFILE}; \
92 ATH_CHECK( TOOLHANDLE.setProperty("CorrectionFileNameList", corrFileNameList) ); \
94 ATH_CHECK (TOOLHANDLE.setProperty("ForceDataType", static_cast<int>(data_type))); \
95 ATH_CHECK( TOOLHANDLE.setProperty("CorrelationModel", m_EG_corrModel) ); \
96 ATH_CHECK( TOOLHANDLE.setProperty("OutputLevel", this->msg().level()) ); \
97 ATH_CHECK( TOOLHANDLE.initialize() ); \
98 } else ATH_CHECK(TOOLHANDLE.retrieve());
100 #define CONFIG_EG_EFF_TOOL_KEY( TOOLHANDLE, TOOLNAME, KEYNAME, KEY, MAP ) \
101 if( !TOOLHANDLE.isUserConfigured() ) { \
102 TOOLHANDLE.setTypeAndName("AsgElectronEfficiencyCorrectionTool/"+TOOLNAME); \
103 ATH_MSG_INFO( "Will now set key \"" << KEYNAME << "\" to value \"" << KEY << "\" when configuring an AsgElectronEfficiencyCorrectionTool" ); \
104 ATH_CHECK( TOOLHANDLE.setProperty(KEYNAME, KEY) ); \
106 ATH_CHECK (TOOLHANDLE.setProperty("ForceDataType", static_cast<int>(data_type))); \
107 ATH_CHECK( TOOLHANDLE.setProperty("CorrelationModel", m_EG_corrModel) ); \
108 ATH_CHECK( TOOLHANDLE.setProperty("OutputLevel", this->msg().level()) ); \
109 ATH_CHECK( TOOLHANDLE.setProperty("MapFilePath", MAP) ); \
110 ATH_CHECK( TOOLHANDLE.initialize() ); \
111 } else if (!isData()) ATH_CHECK(TOOLHANDLE.retrieve());
117 ATH_MSG_FATAL(
"You must set the DataSource property to Data, FullSim or AtlfastII !!");
118 ATH_MSG_FATAL(
"Expect segfaults if you're not checking status codes, which you should be !!");
119 return StatusCode::FAILURE;
123 ATH_MSG_INFO(
"SUSYTools subtools already created. Ignoring this call.");
124 ATH_MSG_INFO(
"Note: No longer necessary to explicitly call SUSYToolsInit. Will avoid creating tools again.");
125 return StatusCode::SUCCESS;
133 std::vector<std::string> file_conf;
139 std::vector<std::string> file_ilumi;
169 ATH_MSG_WARNING(
"Please note that current ID recommendations only cover mc23a and not (yet) mc23d/e!");
173 ATH_CHECK(
m_LRTuncTool.
setProperty(
"calibFileLRTEff",
"InDetTrackSystematicsTools/CalibData_24.0_2023-v00/LargeD0TrackingRecommendations_20230824.root") );
176 ATH_MSG_INFO(
"Using user-configured LRT uncertainty tool");
180 std::string toolName;
182 std::string jetname,
jetcoll,fatjetcoll;
192 toolName =
"JetCalibTool_" + jetname;
194 std::string JES_config_file, calibseq;
198 return StatusCode::FAILURE;
203 ATH_MSG_WARNING(
"Jet JES/JER recommendations currently not available for fast sim in Run 3, falling back to full sim version");
208 JES_config_file = JESconfig;
212 std::string insitu(
"_Insitu");
213 auto found = calibseq.find(insitu);
214 if(
found != std::string::npos){
215 calibseq.erase(
found, insitu.length());
221 ATH_MSG_ERROR(
"JMS calibration is not supported yet for R22. Please modify your settings.");
222 return StatusCode::FAILURE;
240 if(fatjetcoll ==
"AnalysisLargeRJets") {
241 ATH_MSG_DEBUG(
"Fall back to calibration for AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets, original name for AnalysisLargeRJets");
242 fatjetcoll =
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets";
244 if (fatjetcoll.size()>3)fatjetcoll.erase(fatjetcoll.size()-4,4);
246 toolName =
"JetFatCalibTool_" +
m_fatJets;
252 if(
isData()) jesCalibSeqFat +=
"_Insitu";
276 #ifndef XAOD_STANDALONE
285 ATH_MSG_ERROR(
"Error while reading large-R config file : " << WConfigPath );
286 return StatusCode::FAILURE;
288 else ATH_MSG_DEBUG(
"Successfully read large-R config file : " << WConfigPath );
303 #ifndef XAOD_STANDALONE
312 ATH_MSG_ERROR(
"Error while reading large-R config file : " << ZConfigPath );
313 return StatusCode::FAILURE;
315 else ATH_MSG_DEBUG(
"Successfully read large-R config file : " << ZConfigPath );
330 #ifndef XAOD_STANDALONE
339 ATH_MSG_ERROR(
"Error while reading large-R config file : " << TopConfigPath );
340 return StatusCode::FAILURE;
342 else ATH_MSG_DEBUG(
"Successfully read large-R config file : " << TopConfigPath );
383 if(jetdef !=
"AntiKt4EMPFlow"){
384 ATH_MSG_WARNING(
"Jet Uncertaintes recommendations only exist for PFlow jets, falling back to AntiKt4EMPFlow");
385 jetdef =
"AntiKt4EMPFlow";
387 toolName =
"JetUncertaintiesTool_" + jetdef;
401 ATH_MSG_INFO(
"Set up Jet PD Smear Uncertainty tool...");
406 if(jetdef !=
"AntiKt4EMPFlow"){
407 ATH_MSG_WARNING(
"Jet Uncertaintes recommendations only exist for PFlow jets, falling back to AntiKt4EMPFlow");
408 jetdef =
"AntiKt4EMPFlow";
410 toolName =
"JetUncertaintiesPDSmearTool_" + jetdef;
417 ATH_MSG_ERROR(
"You are trying to use the SimpleJER set, with PDsmearing. There is no functionality for this. Please fix your config file. Either run with PDSmear set to false, or run with the AllJER or FullJER sets.");
418 return StatusCode::FAILURE;
429 ATH_MSG_DEBUG(
"Do not retrieve the jet PD Smearing tool if it is not configured");
443 ATH_MSG_WARNING(
"Uncertainties for large-R jets in mc23 and fast simulation not yet available; be aware uncertainties might be not complete!");
445 toolName =
"JetUncertaintiesTool_" +
m_fatJets;
456 std::vector<std::string> shift_vars = {};
461 shift_vars.push_back(
temp.substr(0,
pos));
462 if (
pos == std::string::npos)
468 while (!
temp.empty() );
480 ATH_MSG_INFO(
"Set up Jet PD Smear Uncertainty tool...");
482 toolName =
"JetUncertaintiesPDSmearTool_" +
m_fatJets;
487 if (
m_fatJetUncConfig.find(
"SimpleJER") != std::string::npos && JERUncPDsmearing){
488 ATH_MSG_ERROR(
"You are trying to use the SimpleJER set, with PDsmearing. There is no functionality for this. Please fix your config file. Either run with PDSmear set to false, or run with the AllJER or FullJER sets.");
489 return StatusCode::FAILURE;
500 ATH_MSG_DEBUG(
"Do not retrieve the jet PD Smearing tool if it is not configured");
509 toolName =
"FFJetSmearingTool_" +
m_fatJets;
522 ATH_MSG_INFO(
"The following uncertainties have been defined for the m_fatjetFFSmearingTool");
529 ATH_MSG_INFO(
" Won't initialise Wtagger uncertainty tool for fat jets until we get rec for UFO");
544 ATH_MSG_INFO(
" Won't initialise Ztagger uncertainty tool for fat jets until we get rec for UFO");
559 ATH_MSG_INFO(
" Won't initialise top-tagger uncertainty tool for fat jets until we get rec for UFO");
587 toolName =
"JetCleaningTool";
599 toolName =
"PileupLabelingTool";
603 #ifndef XAOD_STANDALONE
615 toolName =
"JvtMomentTool";
618 #ifndef XAOD_STANDALONE
631 toolName =
"NNJvtMomentTool";
634 #ifndef XAOD_STANDALONE
646 toolName =
"NNJvtSelectionTool";
660 toolName =
"NNJvtEfficiencyTool";
674 toolName =
"fJvtSelectionTool";
688 toolName =
"fJvtEfficiencyTool";
704 std::string muQualBaseline =
"";
707 ATH_MSG_WARNING(
"No muon scale factors are available for VeryLoose working point.");
712 case 4: muQualBaseline =
"HighPt";
break;
713 case 5: muQualBaseline =
"LowPt";
break;
714 case 6: muQualBaseline =
"LowPtMVA";
break;
715 case 7: muQualBaseline =
"HighPt3Layers";
break;
718 return StatusCode::FAILURE;
735 if (IdBaselineInt == 4) {
746 toolName =
"MuonSelectionTool_Baseline_" + muQualBaseline;
752 ") that is tighter than the signal cut (" <<
m_muEta <<
"). Please check your config." );
753 return StatusCode::FAILURE;
757 if (IdBaselineInt == 6){
760 }
else if (IdBaselineInt == 7){
769 std::string muQual =
"";
772 ATH_MSG_WARNING(
"No muon scale factors are available for VeryLoose working point.");
777 case 4: muQual =
"HighPt";
break;
778 case 5: muQual =
"LowPt";
break;
779 case 6: muQual =
"LowPtMVA";
break;
780 case 7: muQual =
"HighPt3Layers";
break;
782 ATH_MSG_ERROR(
"Invalid muon working point provided: " <<
m_muId <<
". Cannot initialise!");
783 return StatusCode::FAILURE;
788 toolName =
"MuonSelectionTool_" + muQual;
796 }
else if (IdInt == 7){
806 toolName =
"MuonSelectionHighPtTool_" + muQual;
819 toolName =
"MuonLRTOverlapRemovalTool";
830 toolName =
"MuonEfficiencyScaleFactors_" + muQual;
840 toolName =
"MuonEfficiencyScaleFactorsBMHighPt_" + muQual;
850 ATH_MSG_WARNING(
"Requested TTVA SFs without d0sig and z0 cuts. Disabling scale factors as they will not make sense.");
855 toolName =
"MuonTTVAEfficiencyScaleFactors";
868 toolName =
"MuonIsolationScaleFactors_" +
m_muIso_WP;
874 <<
") does not have SFs defined. Will try to find an appropriate fall-back.");
879 <<
" is not supported, and does not have SFs available. Falling back to "
881 <<
" for SF determination.");
883 ATH_MSG_ERROR(
"*** The muon isolation WP you selected (" <<
m_muIso_WP <<
") is not currentely supported, and no known fall-back option for SFs exists. Sorry! ***");
884 return StatusCode::FAILURE;
904 <<
") does not have SFs defined. Will try to find an appropriate fall-back.");
909 <<
" is not supported, and does not have SFs available. Falling back to "
910 << tmp_muIsoHighPt_WP
911 <<
" for SF determination.");
913 ATH_MSG_ERROR(
"*** The muon isolation WP you selected (" <<
m_muIsoHighPt_WP <<
") is not currentely supported, and no known fall-back option for SFs exists. Sorry! ***");
914 return StatusCode::FAILURE;
932 toolName =
"MuonTriggerScaleFactors_" + muQual;
934 if ( muQual==
"LowPt" ) {
935 ATH_MSG_WARNING(
"You're using the LowPt muon selection, which is not supported yet in terms of muon trigger scale facorts. TEMPORAIRLY configuring the muonTriggerSFTool for Medium muons. Beware!");
958 toolName =
"EleSelLikelihood_" +
m_eleId;
960 if (
m_eleId.find(
"DNN") != std::string::npos) {
968 ATH_MSG_INFO(
"Overriding specified Ele.Id working point in favour of configuration file");
972 return StatusCode::FAILURE;
975 ATH_MSG_WARNING(
" ****************************************************************************");
977 ATH_MSG_WARNING(
" These may be used for loose electron CRs but no scale factors are provided.");
978 ATH_MSG_WARNING(
" ****************************************************************************");
1000 ATH_MSG_INFO(
"Overriding specified EleBaseline.Id working point in favour of configuration file");
1004 return StatusCode::FAILURE;
1017 toolName =
"ElectronLRTOverlapRemovalTool";
1034 return StatusCode::FAILURE;
1048 return StatusCode::FAILURE;
1081 ATH_MSG_INFO(
"Running on Run2 samples; Using egamma SF tools from R21 map ");
1085 toolName =
"AsgElectronEfficiencyCorrectionTool_reco";
1096 std::string eleId = TString(
m_eleId).ReplaceAll(
"AndBLayer",
"BLayer").ReplaceAll(
"LLH",
"").Data();
1098 if (
m_eleId.find(
"DNN") != std::string::npos) {
1099 eleId = TString(eleId).ReplaceAll(
"DNNnoCF",
"").ReplaceAll(
"DNN",
"").ReplaceAll(
"Loose",
"LooseBLayer").Data();
1100 ATH_MSG_WARNING(
"Electron DNN ID working point " <<
m_eleId <<
" doesn't have SFs yet, fall back to " << eleId);
1104 toolName =
"AsgElectronEfficiencyCorrectionTool_id_" +
m_eleId;
1108 std::map<std::string,std::string> corrFNList;
1111 std::string
WP = WP_fname.substr(0,WP_fname.find(
":"));
1112 std::string
fname = WP_fname.substr(WP_fname.find(
":")+1);
1115 ATH_MSG_WARNING(
"Will use correction file rather than central map file." );
1120 std::string EleIso(
"");
1126 ATH_MSG_WARNING(
"(AsgElectronEfficiencyCorrectionTool_iso_*) Your selected electron Iso WP ("
1128 <<
") does not have iso SFs defined. Falling back to "
1130 <<
" for SF calculations");
1134 return StatusCode::FAILURE;
1137 toolName =
"AsgElectronEfficiencyCorrectionTool_iso_" +
m_eleId + EleIso;
1140 if ( (!
m_EG_corrFNList.empty()) && corrFNList.find(EleIso)!=corrFNList.end() ) {
1147 ATH_MSG_WARNING(
"(" << toolName <<
") Your electron Iso WP: " << EleIso<<
" is no longer supported. This will almost certainly cause a crash now.");
1159 if (!
isData() && ((EleIso.find(
"TightTrackOnly_VarRad")!=std::string::npos)||
1160 (EleIso.find(
"TightTrackOnly_FixedRad")!=std::string::npos)||
1161 (EleIso.find(
"Tight_VarRad")!=std::string::npos)||
1162 (EleIso.find(
"Loose_VarRad")!=std::string::npos))) {
1163 if (
isAtlfast())
ATH_MSG_WARNING(
"(AsgElectronEfficiencyCorrectionTool/"+toolName+
"). Your selected electron Iso WP (" + EleIso +
") don't have AFII SF. Falling back to FullSim");
1176 std::string EleIsohighPt(
"");
1182 ATH_MSG_WARNING(
"(AsgElectronEfficiencyCorrectionTool_iso_*) Your selected high-pT electron Iso WP ("
1184 <<
") does not have iso SFs defined. Falling back to "
1186 <<
" for SF calculations");
1190 return StatusCode::FAILURE;
1193 toolName =
"AsgElectronEfficiencyCorrectionTool_isoHigPt_" +
m_eleId + EleIsohighPt;
1196 if ( (!
m_EG_corrFNList.empty()) && corrFNList.find(EleIsohighPt)!=corrFNList.end() ) {
1204 ATH_MSG_WARNING(
"(" << toolName <<
") Your electron high-pt Iso WP: " << EleIsohighPt <<
" is no longer supported. This will almost certainly cause a crash now.");
1225 if(
m_isRun3 && eleId.find(
"LooseBLayer") != std::string::npos)
ATH_MSG_WARNING(
"Replacing 'LooseBLayer' with 'Loose' for Electron ID while configuring single-ele trigger SF using: " <<
m_eleEffMapFilePath);
1226 std::string triggerEleID =
m_isRun3? TString(eleId).ReplaceAll(
"LooseBLayer",
"Loose").Data() : eleId;
1232 bool pass_isRun3TrigSFFallback =
true;
1233 if (triggerEleID.find(
"Medium") != std::string::npos && triggerEleIso.find(
"Loose") != std::string::npos) {triggerEleID =
"Loose";}
1234 else if (triggerEleID.find(
"Medium") != std::string::npos && triggerEleIso.find(
"Tight") != std::string::npos) {triggerEleID =
"Tight"; triggerEleIso =
"Tight_VarRad";}
1235 else if (triggerEleID.find(
"Medium") != std::string::npos && triggerEleIso.find(
"HighPtCaloOnly") != std::string::npos) {triggerEleID =
"Tight"; triggerEleIso =
"Tight_VarRad";}
1236 else if (triggerEleID.find(
"Tight") != std::string::npos && triggerEleIso.find(
"Loose") != std::string::npos) {triggerEleID =
"Loose";}
1237 else if (triggerEleID.find(
"Tight") != std::string::npos && triggerEleIso.find(
"Tight") != std::string::npos) {triggerEleIso=
"Tight_VarRad";}
1238 else if (triggerEleID.find(
"Tight") != std::string::npos && triggerEleIso.find(
"HighPtCaloOnly") != std::string::npos) {triggerEleID =
"Tight"; triggerEleIso =
"Tight_VarRad";}
1239 else if (triggerEleID.find(
"Loose") != std::string::npos && triggerEleIso.find(
"Tight") != std::string::npos) {triggerEleID =
"Loose"; triggerEleIso =
"Loose_VarRad";}
1240 else if (triggerEleID.find(
"Loose") != std::string::npos && triggerEleIso.find(
"HighPtCaloOnly") != std::string::npos) {triggerEleID =
"Loose"; triggerEleIso =
"Loose_VarRad";}
1241 else {pass_isRun3TrigSFFallback=
false;}
1242 if(pass_isRun3TrigSFFallback){
1243 ATH_MSG_INFO(
" ************** This is only for testing/studying purpose! ************** ");
1244 ATH_MSG_INFO(
" ************** For official recommendation, please get in contact with the SUSY Bkg Forum ************** ");
1245 ATH_MSG_INFO(
"In the current map ("<<
m_eleEffMapFilePath<<
"), the only supported Electron ID working-points supported for Electron Trigger Scale Factor are 'Loose_Loose_VarRad' and 'Tight_Tight_VarRad' ");
1246 ATH_MSG_INFO(
"Only for single-lepton trigger scale factor, fall back to Electron ID: -> "<< triggerEleID <<
" with Isolation: " << triggerEleIso);
1258 ATH_MSG_WARNING(
"(AsgElectronEfficiencyCorrectionTool_trig_singleLep_*) Your selected electron Iso WP ("
1260 <<
") does not have trigger SFs defined. Falling back to "
1262 <<
" for SF calculations");
1266 return StatusCode::FAILURE;
1269 toolName =
"AsgElectronEfficiencyCorrectionTool_trig_singleLep_" + triggerEleID;
1285 toolName =
"AsgElectronEfficiencyCorrectionTool_trigEff_singleLep_" + triggerEleID;
1302 std::map<std::string,std::string> electronTriggerSFMapMixedLepton {
1304 {
"e24_lhmedium_L1EM20VH_OR_e60_lhmedium_OR_e120_lhloose,e26_lhtight_nod0_ivarloose_OR_e60_lhmedium_nod0_OR_e140_lhloose_nod0",
m_electronTriggerSFStringSingle},
1305 {
"e24_lhvloose_nod0_L1EM20VH,e17_lhvloose_nod0,e12_lhloose_L1EM10VH",
"DI_E_2015_e12_lhloose_L1EM10VH_2016_e17_lhvloose_nod0_2017_2018_e24_lhvloose_nod0_L1EM20VH"},
1306 {
"e26_lhmedium_nod0_L1EM22VHI,e26_lhmedium_nod0",
"MULTI_L_2015_e24_lhmedium_L1EM20VH_OR_e60_lhmedium_OR_e120_lhloose_2016_e26_lhmedium_nod0_L1EM22VHI_2017_2018_e26_lhmedium_nod0"},
1307 {
"e17_lhloose,e17_lhloose_nod0",
"MULTI_L_2015_e17_lhloose_2016_2018_e17_lhloose_nod0"},
1308 {
"e12_lhloose,e12_lhloose_nod0",
"MULTI_L_2015_e12_lhloose_2016_2018_e12_lhloose_nod0"},
1309 {
"e7_lhmedium,e7_lhmedium_nod0",
"MULTI_L_2015_e7_lhmedium_2016_2018_e7_lhmedium_nod0"},
1310 {
"e9_lhloose,e9_lhloose_nod0,e12_lhvloose_nod0_L1EM10VH",
"TRI_E_2015_e9_lhloose_2016_e9_lhloose_nod0_2017_2018_e12_lhvloose_nod0_L1EM10VH"}
1316 if (triglist_2017to2018.find(
"2e17_lhvloose_nod0_L12EM15VHI") != std::string::npos) {
1317 electronTriggerSFMapMixedLepton[
"e17_lhvloose_nod0_L1EM15VHI"] =
"DI_E_2015_e12_lhloose_L1EM10VH_2016_e17_lhvloose_nod0_2017_2018_e17_lhvloose_nod0_L1EM15VHI";
1320 std::string triggerMixedEleIso(
"");
1322 for(
auto const&
item : electronTriggerSFMapMixedLepton){
1329 ATH_MSG_WARNING(
"(AsgElectronEfficiencyCorrectionTool_trig_mixLep_*) Your selected electron Iso WP ("
1331 <<
") does not have trigger SFs defined. Falling back to "
1332 << triggerMixedEleIso
1333 <<
" for SF calculations");
1335 ATH_MSG_ERROR(
"*** THE MIXED ELECTRON TRIGGER SF YOU SELECTED (" <<
item.second <<
") GOT NO SUPPORT FOR YOUR ID+ISO WPs (" <<
m_eleId <<
"+" <<
m_eleIso_WP <<
"). The fallback options failed as well sorry! ***");
1336 return StatusCode::FAILURE;
1339 ATH_MSG_VERBOSE (
"Selected WP: " <<
item.second <<
"_" << eleId <<
"_" << triggerMixedEleIso);
1341 toolName =
"AsgElectronEfficiencyCorrectionTool_trig_mixLep_" + (
item.first).substr(0,8) +
m_eleId;
1345 ATH_CHECK( t_sf->setProperty(
"IdKey", eleId) );
1346 ATH_CHECK( t_sf->setProperty(
"IsoKey", triggerMixedEleIso) );
1351 ATH_CHECK( t_sf->setProperty(
"OutputLevel", this->msg().level()) );
1354 #ifndef XAOD_STANDALONE
1360 toolName =
"AsgElectronEfficiencyCorrectionTool_trigEff_mixLep_" + (
item.first).substr(0,8) +
m_eleId;
1363 ATH_CHECK( t_eff->setProperty(
"TriggerKey",
"Eff_"+
item.second) );
1364 ATH_CHECK( t_eff->setProperty(
"IdKey", eleId) );
1365 ATH_CHECK( t_eff->setProperty(
"IsoKey", triggerMixedEleIso) );
1370 ATH_CHECK( t_eff->setProperty(
"OutputLevel", this->msg().level()) );
1373 #ifndef XAOD_STANDALONE
1381 else ATH_MSG_WARNING(
"*** THE ELECTRON TRIGGER SF MIXED AND SF DILEP ARE CURRENTY NOT SUPPORTED IN RUN3 ***");
1383 ATH_MSG_WARNING(
"*** THE ELECTRON CHARGE FLIP SF ARE CURRENTY NOT SUPPORTED ***");
1427 photonIso_forTrigSF =
"TightCaloOnly";
1429 photonIso_forTrigSF = TString(
m_photonIso_WP).ReplaceAll(
"FixedCut",
"").Data();
1441 std::map<std::string,std::string> diphotonTriggerSFMapAsymmetric {
1443 {
"g25_loose,g25_medium_L1EM20VH",
"DI_PH_2015_g25_loose_2016_g25_loose_2017_g25_medium_L1EM20VH_2018_g25_medium_L1EM20VH"},
1444 {
"g35_loose,g35_medium_L1EM20VH",
"DI_PH_2015_g35_loose_2016_g35_loose_2017_g35_medium_L1EM20VH_2018_g35_medium_L1EM20VH"},
1447 for(
auto const&
item : diphotonTriggerSFMapAsymmetric){
1449 toolName =
"AsgPhotonEfficiencyCorrectionTool_trigSF_asymm_diphoton_" + (
item.first).substr(0,9) + photonIso_forTrigSF;
1451 ATH_CHECK( ph_trigSF->setProperty(
"MapFilePath",
"PhotonEfficiencyCorrection/2015_2018/rel21.2/Summer2020_Rec_v1/map3.txt") );
1452 ATH_CHECK( ph_trigSF->setProperty(
"IsoKey", photonIso_forTrigSF) );
1453 ATH_CHECK( ph_trigSF->setProperty(
"TriggerKey",
item.second) );
1454 ATH_CHECK( ph_trigSF->setProperty(
"ForceDataType", 1) );
1455 ATH_CHECK( ph_trigSF->setProperty(
"OutputLevel", this->msg().level()) );
1458 #ifndef XAOD_STANDALONE
1464 toolName =
"AsgPhotonEfficiencyCorrectionTool_trigEff_asymm_diphoton_" + (
item.first).substr(0,9) + photonIso_forTrigSF;
1466 ATH_CHECK( ph_trigEff->setProperty(
"MapFilePath",
"PhotonEfficiencyCorrection/2015_2018/rel21.2/Summer2020_Rec_v1/map3.txt") );
1467 ATH_CHECK( ph_trigEff->setProperty(
"IsoKey", photonIso_forTrigSF) );
1468 ATH_CHECK( ph_trigEff->setProperty(
"TriggerKey",
"Eff_"+
item.second) );
1469 ATH_CHECK( ph_trigEff->setProperty(
"ForceDataType", 1) );
1470 ATH_CHECK( ph_trigEff->setProperty(
"OutputLevel", this->msg().level()) );
1473 #ifndef XAOD_STANDALONE
1529 ATH_MSG_WARNING(
"Forcing EgcalibTool to use calibrations for full simulation" );
1550 else if (
m_tauId ==
"rnn001")
inputfile =
"SUSYTools/tau_selection_rnn001.conf";
1551 else if (
m_tauId ==
"VeryLoose")
inputfile =
"SUSYTools/tau_selection_veryloose.conf";
1552 else if (
m_tauId ==
"Loose")
inputfile =
"SUSYTools/tau_selection_loose.conf";
1553 else if (
m_tauId ==
"Medium")
inputfile =
"SUSYTools/tau_selection_medium.conf";
1554 else if (
m_tauId ==
"Tight")
inputfile =
"SUSYTools/tau_selection_tight.conf";
1557 return StatusCode::FAILURE;
1563 return StatusCode::FAILURE;
1572 toolName =
"TauSelectionTool_" +
m_tauId;
1590 return StatusCode::FAILURE;
1605 toolName =
"TauEffTool_" +
m_tauId;
1608 std::vector<int> correction_types;
1611 ANA_MSG_DEBUG(
"Found JetIDWP in tau config file : " << jetIDWP );
1619 ATH_MSG_ERROR(
"Invalid Tau ID in tau config file " << jetIDWP);
1620 return StatusCode::FAILURE;
1623 correction_types.insert(correction_types.end(), {TauAnalysisTools::EfficiencyCorrectionType::SFRecoHadTau,
1624 TauAnalysisTools::EfficiencyCorrectionType::SFJetIDHadTau});
1628 ANA_MSG_DEBUG(
"Found EleIDWP in tau config file : " << eleIDWP );
1629 int ele_id_lvl = -1;
1634 ATH_MSG_INFO(
"No or invalid Ele OR in tau config file " << eleIDWP <<
" will not apply SFs for electro veto" );
1637 if (ele_id_lvl != -1 )
1638 correction_types.insert(correction_types.end(), {TauAnalysisTools::EfficiencyCorrectionType::SFEleIDHadTau,
1639 TauAnalysisTools::EfficiencyCorrectionType::SFEleIDElectron});
1665 return StatusCode::FAILURE;
1670 {
"HLT_tau25_medium1_tracktwo",
"HLT_tau25_medium1_tracktwo"},
1671 {
"HLT_tau35_medium1_tracktwo",
"HLT_tau35_medium1_tracktwo"},
1672 {
"HLT_tau50L1TAU12_medium1_tracktwo",
"HLT_tau50_medium1_tracktwo_L1TAU12"},
1673 {
"HLT_tau60_medium1_tracktwo",
"HLT_tau60_medium1_tracktwo"},
1674 {
"HLT_tau80L1TAU60_medium1_tracktwo",
"HLT_tau80_medium1_tracktwo_L1TAU60"},
1675 {
"HLT_tau125_medium1_tracktwo",
"HLT_tau125_medium1_tracktwo"},
1676 {
"HLT_tau160_medium1_tracktwo",
"HLT_tau160_medium1_tracktwo"},
1677 {
"HLT_tau160L1TAU100_medium1_tracktwo",
"HLT_tau160_medium1_tracktwo_L1TAU100"},
1679 {
"HLT_tau25_medium1_tracktwoEF",
"HLT_tau25_medium1_tracktwoEF"},
1680 {
"HLT_tau35L1TAU12IM_medium1_tracktwoEF",
"HLT_tau35_medium1_tracktwoEF_L1TAU12IM"},
1681 {
"HLT_tau35_medium1_tracktwoEF",
"HLT_tau35_medium1_tracktwoEF"},
1682 {
"HLT_tau60_medium1_tracktwoEF",
"HLT_tau60_medium1_tracktwoEF"},
1683 {
"HLT_tau80L1TAU60_medium1_tracktwoEF",
"HLT_tau80_medium1_tracktwoEF_L1TAU60"},
1684 {
"HLT_tau160L1TAU100_medium1_tracktwoEF",
"HLT_tau160_medium1_tracktwoEF_L1TAU100"},
1686 {
"HLT_tau25_medium1_tracktwoEF_OR_mediumRNN_tracktwoMVA",
"HLT_tau25_medium1_tracktwoEF,HLT_tau25_mediumRNN_tracktwoMVA"},
1687 {
"HLT_tau35L1TAU12IM_medium1_tracktwoEF_OR_mediumRNN_tracktwoMVA",
"HLT_tau35_medium1_tracktwoEF_L1TAU12IM,HLT_tau35_mediumRNN_tracktwoMVA_L1TAU12IM"},
1688 {
"HLT_tau35_medium1_tracktwoEF_OR_mediumRNN_tracktwoMVA",
"HLT_tau35_medium1_tracktwoEF,HLT_tau35_mediumRNN_tracktwoMVA"},
1689 {
"HLT_tau60_medium1_tracktwoEF_OR_mediumRNN_tracktwoMVA",
"HLT_tau60_medium1_tracktwoEF,HLT_tau60_mediumRNN_tracktwoMVA"},
1690 {
"HLT_tau80L1TAU60_medium1_tracktwoEF_OR_mediumRNN_tracktwoMVA",
"HLT_tau80_medium1_tracktwoEF_L1TAU60,HLT_tau80_mediumRNN_tracktwoMVA_L1TAU60"},
1691 {
"HLT_tau160L1TAU100_medium1_tracktwoEF_OR_mediumRNN_tracktwoMVA",
"HLT_tau160_medium1_tracktwoEF_L1TAU100,HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100"}
1697 {
"HLT_tau160_mediumRNN_tracktwoMVA",
"HLT_tau160_mediumRNN_tracktwoMVA_L1TAU100"},
1699 {
"HLT_tau160_mediumRNN_tracktwoMVA",
"HLT_tau160_mediumRNN_tracktwoMVA_L1eTAU140"}
1704 toolName =
"TauTrigEffTool_" +
m_tauId +
"_" + trigger.first;
1706 ATH_CHECK( tau_trigSF->setProperty(
"EfficiencyCorrectionTypes", std::vector<int>({TauAnalysisTools::SFTriggerHadTau})) );
1707 ATH_CHECK( tau_trigSF->setProperty(
"TriggerName", trigger.first) );
1708 ATH_CHECK( tau_trigSF->setProperty(
"JetIDLevel", iTauID) );
1709 ATH_CHECK( tau_trigSF->setProperty(
"OutputLevel", this->msg().level()) );
1714 ATH_MSG_WARNING(
"mc20 tau triggers not supported in 2025-prerec, failling back to 2022-prerec");
1715 ATH_CHECK( tau_trigSF->setProperty(
"RecommendationTag",
"2022-prerec") );
1718 else {
ATH_CHECK( tau_trigSF->setProperty(
"Campaign",
"mc20") );}
1759 std::string jetcollBTag =
jetcoll;
1760 if (
jetcoll ==
"AntiKt4LCTopoJets") {
1761 ATH_MSG_WARNING(
" *** HACK *** Treating LCTopoJets jets as EMTopo -- use at your own risk!");
1762 jetcollBTag =
"AntiKt4EMTopoJets";
1768 ATH_MSG_WARNING(
"You are using a "<<(!
m_isRun3 ?
"Run3":
"Run2")<<
" CDI file while running on "<<(!
m_isRun3 ?
"Run2":
"Run3")<<
" sample; Please updates your CDI file to the correct version for "<<(!
m_isRun3 ?
"Run2":
"Run3"));
1772 if (jetcollBTag.find(
"AntiKt4EMTopoJets") == std::string::npos && jetcollBTag.find(
"AntiKt4EMPFlowJets")==std::string::npos) {
1773 ATH_MSG_WARNING(
"** Only AntiKt4EMTopoJets and AntiKt4EMPFlowJets are supported with FTAG scale factors!");
1774 return StatusCode::FAILURE;
1791 if (
jetcoll !=
"AntiKt4EMTopoJets" &&
jetcoll !=
"AntiKt4EMPFlowJets") {
1792 ATH_MSG_WARNING(
"** Only AntiKt4EMTopoJets and AntiKt4EMPFlowJets are supported with FTAG scale factors!");
1793 return StatusCode::FAILURE;
1796 toolName =
"BTagSelOR_" + jetcollBTag +
m_orBtagWP;
1809 const std::string& BTagColl_TrkJet = trkjetcoll;
1813 ATH_MSG_INFO(
"TrackJet collection set to None: disabling btagging for TrackJets.");
1817 if (trkjetcoll.find(
"AntiKt2PV0TrackJets")==std::string::npos && trkjetcoll.find(
"AntiKtVR30Rmax4Rmin02TrackJets")==std::string::npos) {
1818 ATH_MSG_WARNING(
"** Only AntiKt2PV0TrackJets and AntiKtVR30Rmax4Rmin02TrackJets are supported with FTAG scale factors!");
1819 return StatusCode::FAILURE;
1838 std::string MCshowerID;
1840 ATH_MSG_ERROR(
"Error! m_showerType=-1, which is an error case for FTAG MC/MC SFs." );
1841 return StatusCode::FAILURE;
1845 MCshowerID=
"default";
1855 ATH_MSG_WARNING(
"Unknown ShowerID detected! Using default FTAG MC-MC SFs (Powheg+Pythia8). Please check if these are applicable for this sample!");
1859 MCshowerID=
"default";
1863 ATH_MSG_WARNING(
"Unknown ShowerID detected! Using default FTAG MC-MC SFs (Powheg+Pythia8). Please check if these are applicable for this sample!");
1868 MCshowerID=
"default";
1877 ATH_MSG_WARNING(
"Unknown Sherpa version detected! Using FTAG MC-MC SFs for Sherpa 2.2.11-2.2.16. Please check if these are applicable for this sample!");
1878 MCshowerID =
"700660";
1881 ATH_MSG_WARNING(
"Unknown ShowerID detected! Using default FTAG MC-MC SFs (Powheg+Pythia8). Please check if these are applicable for this sample!");
1885 MCshowerID=
"default";
1892 ATH_MSG_WARNING(
"Unknown Sherpa version detected! Using FTAG MC-MC SFs for Sherpa 2.2.11-2.2.16. Please check if these are applicable for this sample!");
1893 MCshowerID =
"700660";
1896 ATH_MSG_WARNING(
"Unknown ShowerID detected! Using default FTAG MC-MC SFs (Powheg+Pythia8). Please check if these are applicable for this sample!");
1900 ATH_MSG_WARNING(
"Unknown b-tagger detected! Only DL1dv01 and GN2v01 are supported. Falling back to default FTAG MC-MC SFs (Powheg+Pythia8). Please check if these are applicable for this sample!");
1901 MCshowerID=
"default";
1906 if (
jetcoll !=
"AntiKt4EMTopoJets" &&
jetcoll !=
"AntiKt4EMPFlowJets") {
1907 ATH_MSG_WARNING(
"** Only AntiKt4EMTopoJets and AntiKt4EMPFlowJets are supported with FTAG scale factors!");
1908 return StatusCode::FAILURE;
1933 if (trkjetcoll.find(
"AntiKt2PV0TrackJets")==std::string::npos && trkjetcoll.find(
"AntiKtVR30Rmax4Rmin02TrackJets")==std::string::npos) {
1934 ATH_MSG_WARNING(
"** Only AntiKt2PV0TrackJets and AntiKtVR30Rmax4Rmin02TrackJets are supported with FTAG scale factors!");
1935 return StatusCode::FAILURE;
1938 toolName =
"BTagSF_" + trkjetcoll;
1994 ATH_MSG_ERROR(
"Can only have CST *or* TST configured for MET maker. Please unset either METDoCaloSyst or METDoTrkSyst in your config file" );
1995 return StatusCode::FAILURE;
2020 #ifndef XAOD_STANDALONE // Athena and AthAnalysis; need to take into account that MuonCalibTool is private tool
2025 if(jetname ==
"AntiKt4EMTopo" || jetname ==
"AntiKt4EMPFlow"){
2028 ATH_MSG_WARNING(
"Object-based METSignificance recommendations only exist for EMTopo and PFlow, falling back to AntiKt4EMTopo");
2039 if (IdBaselineInt == 4)
2043 #else // AnalysisBase; can just pass the muon calib tool configured above
2048 if(jetname ==
"AntiKt4EMTopo" || jetname ==
"AntiKt4EMPFlow"){
2051 ATH_MSG_WARNING(
"Object-based METSignificance recommendations only exist for EMTopo and PFlow, falling back to AntiKt4EMTopo");
2077 #ifndef XAOD_STANDALONE // Athena and AthAnalysis
2080 #else // AnalysisBase
2124 std::string no2e17(
"");
2134 ATH_MSG_DEBUG(
"TrigGlobalEfficiencyCorrectionTool/TrigGlobal_diLep: no2e17 trigger string: " << no2e17 );
2136 std::map<std::string,std::string> triggers_diLep;
2140 triggers_diLep[
"326834-328393"] = no2e17;
2159 std::string no2e17(
"");
2169 ATH_MSG_DEBUG(
"TrigGlobalEfficiencyCorrectionTool/TrigGlobal_multiLep: no2e17 trigger string: " << no2e17 );
2171 std::map<std::string,std::string> triggers_multiLep;
2175 triggers_multiLep[
"326834-328393"] = no2e17;
2275 #ifndef XAOD_ANALYSIS
2292 std::string toolName =
"ORTool" +
suffix;
2293 ATH_MSG_INFO(
"SUSYTools: Autoconfiguring " << toolName);
2436 return StatusCode::SUCCESS;
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencySFTool
const std::string bJetLabel
asg::AnaToolHandle< CP::IIsolationSelectionTool > m_isoHighPtTool
bool outputPassValue
Output value to assign passing objects.
double m_orBoostedElectronC1
asg::AnaToolHandle< IAsgDeadHVCellRemovalTool > m_deadHVTool
bool boostedLeptons
Activate boosted-lepton recommendations (sliding dR cones)
asg::AnaToolHandle< CP::IJvtEfficiencyTool > m_jetfJvtEfficiencyTool
asg::AnaToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelTool
bool m_metDoSetMuonJetEMScale
asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > m_trigGlobalEffCorrTool_multiLep
std::string m_jetUncertaintiesCalibArea
std::string m_jesConfigAFII
std::string m_BtagSystStrategy
std::string m_tauEffToolRecommendationTag
std::string m_tauIdBaseline
ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > m_photonTrigEffTools
std::string m_eleIsoHighPt_WP
bool m_eleAllowRun3TrigSFFallback
asg::AnaToolHandle< CP::IEgammaCalibrationAndSmearingTool > m_egammaCalibTool
Combined electron collection.
std::string m_trig2016combination_diPhoton
const std::vector< std::string > split(const std::string &s, const std::string &delim) const
bool m_metDoRemoveMuonJets
std::string find(const std::string &s)
return a remapped string
SG::ReadDecorHandleKey< xAOD::JetContainer > m_label_truthKey
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyBMHighPtSFTool
asg::AnaToolHandle< IWeightTool > m_pmgSHnjetWeighterWZ
std::map< std::string, std::string > m_legsPerTool
std::string m_tauSmearingToolGenerator
asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > m_trigGlobalEffCorrTool_diPhoton
bool m_fatJetUncertaintiesPDsmearing
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_reco
Combined muon collection.
asg::AnaToolHandle< IAsgElectronLikelihoodTool > m_elecSelLikelihood
std::vector< asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > > m_elecEfficiencySFTool_trig_mixLep
bool doEleEleOR
Do electron-electron overlap.
asg::AnaToolHandle< JetPileupTag::JetVertexNNTagger > m_jetNNJvtMomentTool
std::string m_muTriggerSFCalibRelease
std::string m_EigenvectorReductionC
std::string m_fJvtConfigRun2
asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > m_photonTriggerSFTool
asg::AnaToolHandle< CP::IIsolationSelectionTool > m_isoBaselineTool
ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > m_elecTrigEffTools
std::string m_JvtConfigRun2
asg::AnaToolHandle< TauAnalysisTools::ITauSmearingTool > m_tauSmearingTool
std::vector< std::string > m_el_iso_support
StatusCode recommendedTools(const ORFlags &flags, ToolBox &toolBox)
Pre-configured standard recommended OR tools.
bool m_metRemoveOverlappingCaloTaggedMuons
asg::AnaToolHandle< IMETMaker > m_metMaker
std::string m_trig2018combination_diPhoton
Class to wrap a set of SystematicVariations.
asg::AnaToolHandle< JSSWTopTaggerDNN > m_TopTaggerTool
std::string m_photonIso_WP
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonTTVAEfficiencySFTool
std::map< std::string, std::string > m_el_iso_fallback
std::vector< CP::SystematicSet > m_fatjetFFSmearingSyst
bool m_orDoTau
Overlap removal options.
asg::AnaToolHandle< CP::IPileupReweightingTool > m_prwTool
std::string m_muBaselineIso_WP
std::string m_trig2016combination_multiLep
asg::AnaToolHandle< SmoothedWZTagger > m_WTaggerTool
std::string m_eleConfigBaseline
std::string m_bTaggingCalibrationFilePath
ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > m_photonTrigSFTools
asg::AnaToolHandle< Trig::IMatchingTool > m_trigMatchingTool
#define ATH_MSG_VERBOSE(x)
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesPDSmearTool
asg::AnaToolHandle< CP::IElectronLRTOverlapRemovalTool > m_elecLRTORTool
std::string m_trig2017combination_diPhoton
std::vector< std::string > m_mu_iso_support
std::string m_fatJetUncVars
std::string m_eleEffMapFilePath
asg::AnaToolHandle< JetVertexTaggerTool > m_jetJvtMomentTool
std::string m_eleIdBaseline
ORUtils::ToolBox m_orToolbox
std::string m_tauConfigPath
asg::AnaToolHandle< CP::IMuonLRTOverlapRemovalTool > m_muonLRTORTool
asg::AnaToolHandle< IBTaggingEfficiencyTool > m_btagEffTool_trkJet
std::map< std::string, bool > m_slices
bool m_orLinkOverlapObjects
std::string m_eleEffMapFilePathRun2
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_isoHighPt
double m_orBoostedMuonMaxConeSize
asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > m_photonEfficiencySFTool
std::map< std::string, std::string > m_tau_trig_support
asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > m_trigGlobalEffCorrTool_diLep
std::string m_WZTaggerCalibArea
std::vector< std::string > m_prwLcalcFiles
std::vector< std::string > m_el_id_support
std::string m_defaultJets
std::vector< std::string > m_ph_id_support
StatusCode SUSYToolsInit()
std::vector< asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > > m_elecEfficiencySFTool_trigEff_mixLep
std::string m_TopTaggerCalibArea
std::string m_fatJetUncConfig
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_id
std::string m_IsoCloseByORpassLabel
std::string m_tauSmearingToolRecommendationTag
std::string m_jetUncertaintiesConfig
Prefix for trigger matchiing container name.
asg::AnaToolHandle< IJetCalibrationTool > m_jetCalibTool
std::map< std::string, std::string > m_mu_iso_fallback
std::vector< asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > > m_photonEfficiencySFTool_trigEff_AsymDiphoton
std::vector< asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > > m_photonEfficiencySFTool_trigSF_AsymDiphoton
std::string m_jesCalibArea
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonIsolationSFTool
std::string m_jesCalibSeq
::StatusCode StatusCode
StatusCode definition for legacy code.
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesTool
std::string bJetLabel
B-jet decoration.
std::string m_muTriggerSFCalibFilename
asg::AnaToolHandle< CP::IMuonCalibrationAndSmearingTool > m_muonCalibTool
asg::AnaToolHandle< SmoothedWZTagger > m_ZTaggerTool
std::string m_trig2017combination_multiLep
std::string m_jetUncertaintiesMCType
static StatusCode setProperty(const GaudiHandleBase &toolHandle, const std::string &property, const int &value, bool override=true)
std::string m_jetUncertaintiesAnalysisFile
std::map< std::string, std::string > m_legsPerTool_ph
asg::AnaToolHandle< IAsgSelectionTool > m_jetfJvtSelectionTool
asg::AnaToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEM
std::string m_trig2016combination_diLep
bool m_jetUncertaintiesPDsmearing
asg::AnaToolHandle< IMETSystematicsTool > m_metSystTool
double m_BtagMinPt_trkJet
asg::AnaToolHandle< JetPileupLabelingTool > m_jetPileupLabelingTool
std::string m_trigMatchingPrefix
Use composite trigger matching tool if matching was done upstream.
asg::AnaToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelToolBaseline
bool isData() const override final
std::string m_trig2018combination_diLep
std::string m_jesConfigFat
bool isAtlfast() const override final
std::string m_trig2015combination_multiLep
asg::AnaToolHandle< IBTaggingSelectionTool > m_btagSelTool_trkJet
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_fatjetUncertaintiesTool
bool m_runDepPrescaleWeightPRW
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_trigEff_singleLep
std::string m_photonBaselineIso_WP
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_iso
std::vector< std::string > m_prwConfFiles
std::string m_metJetSelection
asg::AnaToolHandle< TauAnalysisTools::ITauTruthMatchingTool > m_tauTruthMatch
std::string EG_WP(const std::string &wp) const
bool check_isOption(const std::string &wp, const std::vector< std::string > &list) const
bool m_eleForceFullSimCalib
asg::AnaToolHandle< IAsgElectronLikelihoodTool > m_elecSelLikelihoodBaseline
asg::AnaToolHandle< TrigConf::ITrigConfigTool > m_trigConfTool
std::string m_EigenvectorReductionLight
Defines helper functions for initializing the OR tools in C++.
std::string m_ToptagConfig
asg::AnaToolHandle< TauAnalysisTools::ITauEfficiencyCorrectionsTool > m_tauEffTool
asg::AnaToolHandle< CP::IMuonSelectionTool > m_muonSelectionToolBaseline
bool m_useBtagging_trkJet
asg::AnaToolHandle< CP::IIsolationCloseByCorrectionTool > m_isoCloseByTool
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_trig_singleLep
std::string m_trig2018combination_multiLep
asg::AnaToolHandle< IBTaggingSelectionTool > m_btagSelTool_OR
asg::AnaToolHandle< CP::IMuonSelectionTool > m_muonSelectionHighPtTool
std::string m_fJvtConfigRun3
bool m_ApplyMVATESQualityCheck
std::string m_BtagWP_trkJet
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_fatjetUncertaintiesPDSmearTool
asg::AnaToolHandle< ICPJetCorrectionTool > m_fatjetFFSmearingTool
bool linkOverlapObjects
Enable overlap object ElementLinks.
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
asg::AnaToolHandle< IBTaggingSelectionTool > m_btagSelTool
asg::AnaToolHandle< IAsgSelectionTool > m_jetNNJvtSelectionTool
double m_orMuJetTrkPtRatio
asg::AnaToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerSFTool
std::vector< std::string > getElSFkeys(const std::string &mapFile) const
asg::AnaToolHandle< IBTaggingEfficiencyTool > m_btagEffTool
double m_orBoostedElectronMaxConeSize
std::string m_eleBaselineIso_WP
std::string m_BtagTagger_trkJet
std::string m_EG_corrModel
std::string m_JetTruthLabelName
#define ATH_MSG_WARNING(x)
bool m_orDoBoostedElectron
asg::AnaToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEMBaseline
A struct of global config options used to simplify the config helper interface.
bool m_metVeryGreedyPhotons
asg::AnaToolHandle< Trig::TrigDecisionTool > m_trigDecTool
std::string m_metsysConfigPrefix
std::string m_defaultTrackJets
std::string m_jesCalibSeqFat
std::string m_tauConfigPathBaseline
asg::AnaToolHandle< IJetCalibrationTool > m_jetFatCalibTool
std::string m_electronTriggerSFStringSingle
asg::AnaToolHandle< CP::IJvtEfficiencyTool > m_jetNNJvtEfficiencyTool
std::string masterName
Master tool name.
std::string m_trig2017combination_diLep
asg::AnaToolHandle< Trig::IMatchScoringTool > m_trigDRScoringTool
std::string m_trig2015combination_diLep
asg::AnaToolHandle< JetTruthLabelingTool > m_jetTruthLabelingTool
asg::AnaToolHandle< IMETSignificance > m_metSignif
bool m_muHighPtExtraSmear
std::string m_photonTriggerName
std::string m_EigenvectorReductionB
double m_orBoostedElectronC2
std::string m_orInputLabel
std::string m_muIsoHighPt_WP
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonHighPtIsolationSFTool
std::string m_photonIdBaseline
ToolHandleArray< CP::IMuonTriggerScaleFactors > m_muonTrigSFTools
asg::AnaToolHandle< IJetSelector > m_jetCleaningTool
bool m_orDoMuonJetGhostAssociation
asg::AnaToolHandle< CP::IIsolationCorrectionTool > m_isoCorrTool
std::string m_defaultTruthJets
ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > m_elecTrigSFTools
std::vector< asg::AnaToolHandle< TauAnalysisTools::ITauEfficiencyCorrectionsTool > > m_tauTrigEffTool
std::string m_TopDecorName
bool m_upstreamTriggerMatching
asg::AnaToolHandle< InDet::IInclusiveTrackFilterTool > m_LRTuncTool
std::string m_EG_corrFNList
asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > m_photonIsolationSFTool
asg::AnaToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
bool m_useSigLepForIsoCloseByOR
asg::AnaToolHandle< IEGammaAmbiguityTool > m_egammaAmbiguityTool
std::string m_trig2015combination_diPhoton
asg::AnaToolHandle< CP::IIsolationSelectionTool > m_isoTool
std::string m_JvtConfigRun3
asg::AnaToolHandle< IWeightTool > m_pmgSHnjetWeighter