|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef SUSYTOOLS_SUSYOBJDEF_XAODTOOL_H
8 #define SUSYTOOLS_SUSYOBJDEF_XAODTOOL_H
93 static const unsigned int Unknown = 0;
96 static const unsigned int Btag = 1001;
97 static const unsigned int JVT = 1002;
98 static const unsigned int Btag_Track = 1003;
99 static const unsigned int FJVT = 1004;
103 static const unsigned int Reconstruction = 1101;
104 static const unsigned int Isolation = 1102;
105 static const unsigned int ID = 1103;
106 static const unsigned int Trigger = 1104;
110 static const unsigned int Reconstruction = 1201;
111 static const unsigned int Isolation = 1202;
112 static const unsigned int ID = 1203;
113 static const unsigned int Trigger = 1204;
114 static const unsigned int ChargeID = 1205;
118 static const unsigned int Reconstruction = 1301;
119 static const unsigned int Trigger = 1302;
123 static const unsigned int Reconstruction = 1401;
124 static const unsigned int Isolation = 1402;
125 static const unsigned int ID = 1403;
126 static const unsigned int Trigger = 1404;
130 static const double DUMMYDEF = -999.;
149 static inline std::string testAffectsObject(
unsigned int test) {
151 case Jet:
return "Jet";
152 case Egamma:
return "Egamma";
154 case Photon:
return "Photon";
155 case Muon:
return "Muon";
156 case Tau:
return "Tau";
157 case BTag:
return "BTag";
168 static inline int getMCShowerType(
const std::string& sample_name) {
171 const static std::vector<TString> gen_mc_generator_keys = {
"POWHEGHERWIG7",
"PHH7EG",
"SHERPA_221_",
"SHERPA_2210",
"SHERPA_2211",
"SHERPA_2212",
"AMCATNLOPY8",
"AMCATNLOHERWIG7"};
174 TString tmp_name(sample_name);
175 if(tmp_name.Contains(
"Py8EG") && !tmp_name.Contains(
"aMcAtNloPy8EG")) tmp_name.ReplaceAll(
"Py8EG",
"PYTHIA8EVTGEN");
176 if(tmp_name.Contains(
"Pythia") && !tmp_name.Contains(
"Pythia8") && !tmp_name.Contains(
"EvtGen")) tmp_name.ReplaceAll(
"Pythia",
"PYTHIA8EVTGEN");
177 if(tmp_name.Contains(
"Pythia8") && !tmp_name.Contains(
"EvtGen")) tmp_name.ReplaceAll(
"Pythia8",
"PYTHIA8EVTGEN");
178 if(tmp_name.Contains(
"Py8") && !tmp_name.Contains(
"EG")) tmp_name.ReplaceAll(
"Py8",
"PYTHIA8EVTGEN");
179 if(tmp_name.Contains(
"Sh_2")) tmp_name.ReplaceAll(
"Sh_2",
"SHERPA_2");
184 unsigned int ishower = 0;
185 for(
const auto &
gen : gen_mc_generator_keys ){
186 if( tmp_name.Contains(
gen) ){
return ishower+1;}
189 if( tmp_name.Contains(
"PYTHIA8EVTGEN") || tmp_name.Contains(
"PhPy8EG") )
return 0;
192 TRegexp is_data(
"^data1[5-9]_13TeV");
193 TRegexp is_dataRun3(
"^data2[2-5]_13p6TeV");
194 if (tmp_name.Contains(is_data) || tmp_name.Contains(is_dataRun3)){
195 std::cout <<
"ST::getMCShowerType WARNING: Asking for the MC shower when running on a data file is not advised. Just returning 0." << std::endl;
199 std::cout <<
"ST::getMCShowerType WARNING: Unknown MC generator detected. Returning default 0 = PowhegPythia8 ShowerType for btagging MC/MC maps." << std::endl;
255 bool doTST=
true,
bool doJVTCut=
true,
265 double& metSignificance,
266 bool doTST =
true,
bool doJVTCut =
true
327 virtual float GetSignalMuonSF(
const xAOD::Muon&
mu,
const bool recoSF =
true,
const bool isoSF =
true,
const bool doBadMuonHP =
true,
const bool warnOVR =
true) = 0;
329 virtual float GetSignalElecSF(
const xAOD::Electron&
el,
const bool recoSF =
true,
const bool idSF =
true,
const bool triggerSF =
true,
const bool isoSF =
true,
const std::string& trigExpr =
"singleLepton",
const bool ecidsSF =
false,
const bool cidSF =
false) = 0;
331 virtual double GetEleTriggerEfficiency(
const xAOD::Electron&
el,
const std::string& trigExpr =
"SINGLE_E_2015_e24_lhmedium_L1EM20VH_OR_e60_lhmedium_OR_e120_lhloose_2016_2018_e26_lhtight_nod0_ivarloose_OR_e60_lhmedium_nod0_OR_e140_lhloose_nod0")
const = 0;
337 virtual double GetEleTriggerEfficiencySF(
const xAOD::Electron&
el,
const std::string& trigExpr =
"SINGLE_E_2015_e24_lhmedium_L1EM20VH_OR_e60_lhmedium_OR_e120_lhloose_2016_2018_e26_lhtight_nod0_ivarloose_OR_e60_lhmedium_nod0_OR_e140_lhloose_nod0")
const = 0;
351 virtual double GetTotalMuonSF(
const xAOD::MuonContainer& muons,
const bool recoSF =
true,
const bool isoSF =
true,
const std::string& trigExpr =
"HLT_mu20_iloose_L1MU15_OR_HLT_mu50",
const bool bmhptSF =
true) = 0;
353 virtual float GetTotalElectronSF(
const xAOD::ElectronContainer&
electrons,
const bool recoSF =
true,
const bool idSF =
true,
const bool triggerSF =
true,
const bool isoSF =
true,
const std::string& trigExpr =
"singleLepton",
const bool ecidsSF =
false,
const bool cidSF =
false) = 0;
359 virtual double GetSignalTauSF(
const xAOD::TauJet& tau,
const bool idSF =
true,
const bool triggerSF =
true,
const std::string& trigExpr =
"tau25_medium1_tracktwo") = 0;
382 virtual bool IsMETTrigPassed(
const std::string& triggerName,
bool j400_OR =
false)
const = 0;
388 virtual bool IsTrigMatched(
const std::vector<const xAOD::IParticle*>&
v,
const std::string& tr_item) = 0;
389 virtual bool IsTrigMatched(
const std::initializer_list<const xAOD::IParticle*> &
v,
const std::string& tr_item) = 0;
396 virtual void TrigMatch(
const std::initializer_list<const xAOD::IParticle*>&
v,
const std::vector<std::string>&
items) = 0;
397 virtual void TrigMatch(
const std::initializer_list<const xAOD::IParticle*>&
v,
const std::initializer_list<std::string>&
items) = 0;
400 virtual void TrigMatch(
const std::initializer_list<const xAOD::IParticle*> &
v,
const std::string&
item) = 0;
473 #endif // SUSYTOOLS_SUSYOBJDEF_XAODTOOL_H
JetConstituentVector::iterator iterator
std::array< float, 7 > Weights
std::set< unsigned int > affectedWeights
std::vector< Identifier > ID
The common trigger namespace for trigger analysis tools.
Class creating a shallow copy of an existing auxiliary container.
Class to wrap a set of SystematicVariations.
CP::SystematicSet systset
This class provides conversion from CSC RDO data to CSC Digits.
Class providing the definition of the 4-vector interface.
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a tau jet.
Class describing a signal truth event in the MC record.
Container for xAOD::MissingET_v1 objects.
Class describing the basic event information.
struct TBPatternUnitContext Muon
Class describing a Vertex.