ATLAS Offline Software
Loading...
Searching...
No Matches
SUSYObjDef_xAOD.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5// This file's extension implies that it's C, but it's really -*- C++ -*-.
6// $Id$
13
14#ifndef SUSYTOOLS_SUSYOBJDEF_XAOD_H
15#define SUSYTOOLS_SUSYOBJDEF_XAOD_H
16
17// Framework include(s) - base class
19
20// Interface class
22
23// Includes for systematics
28
29// Tool handles
33
34// Container read handle
38
39// Configuration
40#include "TEnv.h"
41
42// Map for config file names
43#include <map>
44// Set for properties
45#include <set>
46// Various uses in function arguments and parameters
47#include <string>
48#include <vector>
49#include <mutex>
50
51// Tool interfaces
52// Toolbox, which holds the tools
53//#include "AssociationUtils/ORToolBox.h"
64
68
70class IJERTool;
71class IJERSmearingTool;
73class IJetSelector;
74class IJetModifier;
75
78
82
85
86class IMETMaker;
89
91
92namespace CP {
96
104 class IJvtEfficiencyTool;
105}
106
107namespace InDet {
109}
110
111namespace TauAnalysisTools {
112 class ITauSelectionTool;
113 class ITauSmearingTool;
116}
117
118class ITauToolBase;
119
120namespace ORUtils {
121 class IOverlapTool;
122}
123
124namespace TrigConf {
125 class ITrigConfigTool;
126}
127namespace Trig {
128 // Need the TrigDecisionTool directly for getChainGroup, features, and GetPreScale
129 class TrigDecisionTool;
130 class IMatchingTool;
131 class IMatchScoringTool;
132 class FeatureContainer;
133}
134
135class IWeightTool;
136
137namespace ST {
138
139
140 // class SUSYObjDef;
141 class SUSYObjDef_xAOD : public virtual ISUSYObjDef_xAODTool,
142 public asg::AsgMetadataTool {
143
144 // Create a proper constructor for Athena
146
147 public:
148 SUSYObjDef_xAOD( const std::string& name );
150
151 // Function initialising the tool
152 StatusCode initialize() override final;
153 // NB that there is no function for finalising the tool.
154 // An IAsgTool does not have a finalize method, so we can
155 // only override finalize in athena. To clean up, delete me.
156
157 bool isData() const override final {return m_dataSource == Data;}
158 bool isAtlfast() const override final {return m_dataSource == AtlfastII;}
159
160 StatusCode setBoolProperty(const std::string& name, const bool& property) override final;
161
162 // Hack to make thisx configurable from python
163 // 0 = data, 1 = full sim, 2 = AF-II
164 void setDataSource(int source);
165
166 // Apply the correction on a modifyable object
167 StatusCode FillJet(xAOD::Jet& input, const bool doCalib = true, bool isFat = false, bool doLargeRdecorations = false) override final;
168 StatusCode FillTrackJet(xAOD::Jet& input) override final;
169 StatusCode FillTau(xAOD::TauJet& input) override final;
170 StatusCode FillMuon(xAOD::Muon& input, const float ptcut, const float etacut) override final;
171 StatusCode FillElectron(xAOD::Electron& input, const float etcut, const float etacut) override final;
172 StatusCode FillPhoton(xAOD::Photon& input, const float ptcut, const float etacut) override final;
173
174 const xAOD::Vertex* GetPrimVtx() const override final;
175
176 StatusCode GetJets(xAOD::JetContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = true, const std::string& jetkey = "", const xAOD::JetContainer* containerToBeCopied = nullptr) override final;
177 StatusCode GetTrackJets(xAOD::JetContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = true, const std::string& jetkey = "", const xAOD::JetContainer* containerToBeCopied = nullptr) override final;
178 StatusCode GetJetsSyst(const xAOD::JetContainer& calibjets, xAOD::JetContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = true, const std::string& jetkey = "") override final;
179 StatusCode GetFatJets(xAOD::JetContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = false, const std::string& jetkey = "", const bool doLargeRdecorations = false, const xAOD::JetContainer* containerToBeCopied = nullptr) override final;
180 StatusCode GetTaus(xAOD::TauJetContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = true, const std::string& taukey = "TauJets", const xAOD::TauJetContainer* containerToBeCopied = nullptr) override final;
181 StatusCode GetMuons(xAOD::MuonContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = true, const std::string& muonkey = "Muons", const std::string& lrtmuonkey = "MuonsLRT", const xAOD::MuonContainer* containerToBeCopied = nullptr) override final;
182 StatusCode GetElectrons(xAOD::ElectronContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = true, const std::string& elekey = "Electrons", const std::string& lrtelekey = "LRTElectrons", const xAOD::ElectronContainer* containerToBeCopied = nullptr) override final;
183 StatusCode GetPhotons(xAOD::PhotonContainer*& copy, xAOD::ShallowAuxContainer*& copyaux, const bool recordSG = true, const std::string& photonkey = "Photons", const xAOD::PhotonContainer* containerToBeCopied = nullptr) override final;
184 StatusCode GetMET(xAOD::MissingETContainer& met,
186 const xAOD::ElectronContainer* elec = nullptr,
187 const xAOD::MuonContainer* muon = nullptr,
188 const xAOD::PhotonContainer* gamma = nullptr,
189 const xAOD::TauJetContainer* taujet = nullptr,
190 bool doTST = true, bool doJVTCut = true,
191 const xAOD::IParticleContainer* invis = nullptr) override final;
192
195 const xAOD::ElectronContainer* elec = nullptr,
196 const xAOD::MuonContainer* muon = nullptr
197 ) override final;
198
200 double& metSignificance,
201 bool doTST = true, bool doJVTCut = true
202 ) override final;
203
204 StatusCode MergeMuons(const xAOD::MuonContainer & muons, const std::vector<bool> &writeMuon, xAOD::MuonContainer* outputCol) const override final;
207
208 StatusCode prepareLRTMuons(const xAOD::MuonContainer* inMuons, xAOD::MuonContainer* copy) const override final;
209
210 StatusCode MergeElectrons(const xAOD::ElectronContainer & electrons, xAOD::ElectronContainer* outputCol, const std::set<const xAOD::Electron *> &ElectronsToRemove) const override final;
213
214 StatusCode prepareLRTElectrons(const xAOD::ElectronContainer* inMuons, xAOD::ElectronContainer* copy) const override final;
215
216 StatusCode SetBtagWeightDecorations(const xAOD::Jet& input, const asg::AnaToolHandle<IBTaggingSelectionTool>& btagSelTool, const std::string& btagTagger) const override final;
217
218 bool IsSignalJet(const xAOD::Jet& input, const float ptcut, const float etacut) const override final;
219
220 bool IsBadJet(const xAOD::Jet& input) const override final;
221
222 bool IsBJetLoose(const xAOD::Jet& input) const override final;
223 bool JetPassJVT(xAOD::Jet& input) override final;
224
225
226 bool IsSignalMuon(const xAOD::Muon& input, const float ptcut, const float d0sigcut, const float z0cut, const float etacut = DUMMYDEF) const override final;
227
228 bool IsSignalElectron(const xAOD::Electron& input, const float etcut, const float d0sigcut, const float z0cut, const float etacut = DUMMYDEF) const override final;
229
230 bool IsCosmicMuon(const xAOD::Muon& input, const float z0cut, const float d0cut) const override final;
231
232 bool IsHighPtMuon(const xAOD::Muon& input) const override final;
233 // See https://indico.cern.ch/event/371499/contribution/1/material/slides/0.pdf and https://indico.cern.ch/event/397325/contribution/19/material/slides/0.pdf and https://twiki.cern.ch/twiki/bin/view/Atlas/MuonSelectionTool
234
235 bool IsSignalTau(const xAOD::TauJet& input, const float ptcut, const float etacut) const override final;
236
237 bool IsBadMuon(const xAOD::Muon& input, const float qopcut) const override final;
238
239 bool IsSignalPhoton(const xAOD::Photon& input, const float ptcut, const float etacut = DUMMYDEF) const override final;
240
241 bool IsBJet(const xAOD::Jet& input) const override final;
242
243 bool IsTrackBJet(const xAOD::Jet& input) const override final;
244
245 bool IsTruthBJet(const xAOD::Jet& input) const override final;
246
247 int IsBJetContinuous(const xAOD::Jet& input) const override final;
248
249 int IsTrackBJetContinuous(const xAOD::Jet& input) const override final;
250
251 float BtagSF(const xAOD::JetContainer* jets) override final;
252
253 float BtagSFsys(const xAOD::JetContainer* jets, const CP::SystematicSet& systConfig) override final;
254
255 float BtagSF_trkJet(const xAOD::JetContainer* trkjets) override final;
256
257 float BtagSFsys_trkJet(const xAOD::JetContainer* trkjets, const CP::SystematicSet& systConfig) override final;
258
259 double JVT_SF(const xAOD::JetContainer* jets) override final;
260
261 double JVT_SFsys(const xAOD::JetContainer* jets, const CP::SystematicSet& systConfig) override final;
262
263 double FJVT_SF(const xAOD::JetContainer* jets) override final;
264
265 double FJVT_SFsys(const xAOD::JetContainer* jets, const CP::SystematicSet& systConfig) override final;
266
267 //SF helpers
268 //muons
269 float GetSignalMuonSF(const xAOD::Muon& mu, const bool recoSF = true, const bool isoSF = true, const bool doBadMuonHP = true, const bool warnOVR = true) override final;
270
271 double GetMuonTriggerEfficiency(const xAOD::Muon& mu, const std::string& trigExpr, const bool isdata = false ) override final;
272
273 double GetTotalMuonTriggerSF(const xAOD::MuonContainer& sfmuons, const std::string& trigExpr) override final;
274
275 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) override final;
276
277 double GetTotalMuonSFsys(const xAOD::MuonContainer& muons, const CP::SystematicSet& systConfig, const bool recoSF = true, const bool isoSF = true, const std::string& trigExpr = "HLT_mu20_iloose_L1MU15_OR_HLT_mu50", const bool bmhptSF = true) override final;
278
279 //electrons
280 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) override final;
281
282 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 override final;
283
284 double GetTriggerGlobalEfficiency(const xAOD::ElectronContainer& electrons, const xAOD::MuonContainer& muons, const std::string& trigExpr = "diLepton") override final;
285
286 double GetTriggerGlobalEfficiency(const xAOD::PhotonContainer& photons, const std::string& trigExpr = "diPhoton") override final;
287
288 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 override final;
289
290 double GetTriggerGlobalEfficiencySF(const xAOD::ElectronContainer& electrons, const xAOD::MuonContainer& muons, const std::string& trigExpr = "diLepton") override final;
291
292 double GetTriggerGlobalEfficiencySF(const xAOD::PhotonContainer& photons, const std::string& trigExpr = "diPhoton") override final;
293
294 double GetTriggerGlobalEfficiencySFsys(const xAOD::ElectronContainer& electrons, const xAOD::MuonContainer& muons, const CP::SystematicSet& systConfig, const std::string& trigExpr = "diLepton") override final;
295
296 double GetTriggerGlobalEfficiencySFsys(const xAOD::PhotonContainer& photons, const CP::SystematicSet& systConfig, const std::string& trigExpr = "diPhoton") override final;
297
298 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) override final; // singleLepton == Ele.TriggerSFStringSingle value
299
300 float GetTotalElectronSFsys(const xAOD::ElectronContainer& electrons, const CP::SystematicSet& systConfig, 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) override final; // singleLepton == Ele.TriggerSFStringSingle value
301
302 //taus
303 double GetSignalTauSF(const xAOD::TauJet& tau, const bool idSF = true, const bool triggerSF = true, const std::string& trigExpr = "tau25_medium1_tracktwo") override final;
304
305 double GetSignalTauSFsys(const xAOD::TauJet& tau, const CP::SystematicSet& systConfig, const bool idSF = true, const bool triggerSF = true, const std::string& trigExpr = "tau25_medium1_tracktwo") override final;
306
307 double GetTauTriggerEfficiencySF(const xAOD::TauJet& tau, const std::string& trigExpr = "tau25_medium1_tracktwo") override final;
308
309 double GetTotalTauSF(const xAOD::TauJetContainer& taus, const bool idSF = true, const bool triggerSF = true, const std::string& trigExpr = "tau25_medium1_tracktwo") override final;
310
311 double GetTotalTauSFsys(const xAOD::TauJetContainer& taus, const CP::SystematicSet& systConfig, const bool idSF = true, const bool triggerSF = true, const std::string& trigExpr = "tau25_medium1_tracktwo") override final;
312
313 //photons
314 double GetSignalPhotonSF(const xAOD::Photon& ph, const bool effSF = true, const bool isoSF = true, const bool triggerSF = false) const override final;
315
316 double GetSignalPhotonSFsys(const xAOD::Photon& ph, const CP::SystematicSet& systConfig, const bool effSF = true, const bool isoSF = true, const bool triggerSF = false) override final;
317
318 double GetTotalPhotonSF(const xAOD::PhotonContainer& photons, const bool effSF = true, const bool isoSF = true, const bool triggerSF = false) const override final;
319
320 double GetTotalPhotonSFsys(const xAOD::PhotonContainer& photons, const CP::SystematicSet& systConfig, const bool effSF = true, const bool isoSF = true, const bool triggerSF = false) override final;
321
322 //jets
323 double GetTotalJetSF(const xAOD::JetContainer* jets, const bool btagSF = true, const bool jvtSF = true, const bool fjvtSF = false) override final;
324
325 double GetTotalJetSFsys(const xAOD::JetContainer* jets, const CP::SystematicSet& systConfig, const bool btagSF = true, const bool jvtSF = true, const bool fjvtSF = false) override final;
326
327 //Trigger
328 bool IsMETTrigPassed(unsigned int runnumber = 0, bool j400_OR = false) const override final;
329 bool IsMETTrigPassed(const std::string& triggerName, bool j400_OR = false, const std::string& L1_name = "L1_XE50") const override final;
330
331 bool IsTrigPassed(const std::string&, unsigned int condition=TrigDefs::Physics) const override final;
332
333 bool IsTrigMatched(const xAOD::IParticle *part, const std::string& tr_item) override final;
334 bool IsTrigMatched(const xAOD::IParticle *part1, const xAOD::IParticle *part2, const std::string& tr_item) override final;
335 bool IsTrigMatched(const std::vector<const xAOD::IParticle*>& v, const std::string& tr_item) override final;
336 bool IsTrigMatched(const std::initializer_list<const xAOD::IParticle*> &v, const std::string& tr_item) override final;
337
338 void TrigMatch(const xAOD::IParticle* p, std::initializer_list<std::string>::iterator, std::initializer_list<std::string>::iterator) override final;
339 void TrigMatch(const xAOD::IParticle* p, const std::vector<std::string>& items) override final;
340 void TrigMatch(const xAOD::IParticle* p, const std::initializer_list<std::string>& items) override final;
341 void TrigMatch(const xAOD::IParticleContainer* v, const std::vector<std::string>& items) override final;
342 void TrigMatch(const xAOD::IParticleContainer* v, const std::initializer_list<std::string>& items) override final;
343 void TrigMatch(const std::initializer_list<const xAOD::IParticle*>& v, const std::vector<std::string>& items) override final;
344 void TrigMatch(const std::initializer_list<const xAOD::IParticle*>& v, const std::initializer_list<std::string>& items) override final;
345 void TrigMatch(const xAOD::IParticle* p, const std::string& item) override final;
346 void TrigMatch(const xAOD::IParticleContainer* v, const std::string& item) override final;
347 void TrigMatch(const std::initializer_list<const xAOD::IParticle*> &v, const std::string& item) override final;
348
349 // Trigger helpers
350 float GetTrigPrescale(const std::string&) const override final;
351 const Trig::ChainGroup* GetTrigChainGroup(const std::string&) const override final;
352 std::vector<std::string> GetTriggerOR(const std::string& trigExpr) const;
353 void GetTriggerTokens(std::string, std::vector<std::string>& , std::vector<std::string>& , std::vector<std::string>& , std::vector<std::string>& ,std::vector<std::string>& ,std::vector<std::string>& ,std::vector<std::string>&) const;
354 Trig::FeatureContainer GetTriggerFeatures(const std::string& chainName = "EF_.*", unsigned int condition = TrigDefs::Physics) const;
355
356 const xAOD::EventInfo* GetEventInfo() const override final;
357
358 float GetPileupWeight() override final;
359
360 float GetPileupWeightPrescaledTrigger(const std::string & trigger_expr) override final;
361
362 ULong64_t GetPileupWeightHash() override final;
363
364 float GetDataWeight(const std::string&) override final;
365
366 float GetCorrectedAverageInteractionsPerCrossing(bool includeDataSF=false) override final;
367
368 float GetCorrectedActualInteractionsPerCrossing(bool includeDataSF=false) override final;
369
370 double GetSumOfWeights(int channel) override final;
371
372 unsigned int GetRandomRunNumber(bool muDependentRRN = true) override final;
373
374 StatusCode ApplyPRWTool(bool muDependentRRN = true) override final;
375
376 unsigned int GetRunNumber() const override final;
377
378 const xAOD::TrackParticleContainer& GetInDetLargeD0Tracks(const EventContext &ctx) const override final;
379
380 const xAOD::TrackParticleContainer& GetInDetLargeD0GSFTracks(const EventContext &ctx) const override final;
381
382 StatusCode ApplyLRTUncertainty() override final;
383
384 int treatAsYear(const int runNumber=-1) const override final;
385
387 const xAOD::PhotonContainer* gamma = nullptr, const xAOD::TauJetContainer* taujet = nullptr, const xAOD::JetContainer *fatjets = nullptr) override final;
388
389 StatusCode NearbyLeptonCorrections( xAOD::ElectronContainer *electrons = nullptr, xAOD::MuonContainer *muons = nullptr) const override final;
390
391 StatusCode resetSystematics() override final;
392
394
395 StatusCode applySystematicVariation( const CP::SystematicSet& systConfig ) override final;
396
397
398 //truth helpers
399 bool isPrompt(const xAOD::IParticle* part) const override final;
400
401 StatusCode FindSusyHP(int& pdgid1, int& pdgid2) const;
402 StatusCode FindSusyHP(const xAOD::TruthParticleContainer *truthP, int& pdgid1, int& pdgid2, bool isTruth3=false) const override final;
403 StatusCode FindSusyHP(const xAOD::TruthEvent *truthE, int& pdgid1, int& pdgid2) const override final;
404 static bool FindSusyHardProc(const xAOD::TruthParticleContainer *truthP, int& pdgid1, int& pdgid2, bool isTruth3=false);
405 static bool FindSusyHardProc(const xAOD::TruthEvent *truthE, int& pdgid1, int& pdgid2);
406
407 //trigger helpers
408 std::string TrigSingleLep() const override final;
409
410 //systematics helpers
411 bool isNominal(const CP::SystematicSet& syst) const;
412 bool isWeight(const CP::SystematicSet& systSet) const;
417
418 ST::SystInfo getSystInfo(const CP::SystematicVariation& sys) const override final;
419
420 std::vector<ST::SystInfo> getSystInfoList() const override final;
421
422 // Temporary function for Sherpa 2.2 V+jets n-jets reweighting
423 // (see https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/CentralMC15ProductionList#NEW_Sherpa_v2_2_V_jets_NJet_rewe)
424 float getSherpaVjetsNjetsWeight() const override final;
425 float getSherpaVjetsNjetsWeight(const std::string& jetContainer) const override final;
426
427 // Helper for b-tagging weights
428 int getMCShowerType(const std::string& sample_name="", const std::string& tagger="") const override final { return ST::getMCShowerType(sample_name, tagger); }
429
430
431 private:
432
433 StatusCode SUSYToolsInit();
434
435 //map ConfigFile names to Property names
436 std::map<std::string, std::string> m_conf_to_prop;
437
438 //book boolean properties already set
439 std::set<std::string> m_bool_prop_set;
440
441 // These variables just cache decisions so it's OK to make them mutable
442 // Store trigger emulation functions so they're only setup once
443 mutable std::map<std::string, std::function<bool()>> m_metTriggerFuncs ATLAS_THREAD_SAFE;
444 // Store whether the trigger was in the TDT
445 mutable std::map<std::string, bool> m_checkedTriggers ATLAS_THREAD_SAFE;
446 mutable std::mutex m_triggerCacheMutex;
447 bool emulateHLT(const std::string& triggerName) const;
448 bool isTrigInTDT(std::scoped_lock<std::mutex>& lock,
449 const std::string& triggerName) const;
450
451 //book trigger chains for matching
452 std::vector<std::string> m_v_trigs15_cache_singleEle;
453 std::vector<std::string> m_v_trigs16_cache_singleEle;
454 std::vector<std::string> m_v_trigs17_cache_singleEle;
455 std::vector<std::string> m_v_trigs18_cache_singleEle;
456 std::vector<std::string> m_v_trigs22_cache_singleEle;
457 std::vector<std::string> m_v_trigs23_cache_singleEle;
458 std::vector<std::string> m_v_trigs24_cache_singleEle;
459
460 std::vector<std::string> m_v_trigs15_cache_singleLep;
461 std::vector<std::string> m_v_trigs16_cache_singleLep;
462 std::vector<std::string> m_v_trigs17_cache_singleLep;
463 std::vector<std::string> m_v_trigs18_cache_singleLep;
464 std::vector<std::string> m_v_trigs22_cache_singleLep;
465 std::vector<std::string> m_v_trigs23_cache_singleLep;
466 std::vector<std::string> m_v_trigs24_cache_singleLep;
467
468 std::vector<std::string> m_v_trigs15_cache_diLep;
469 std::vector<std::string> m_v_trigs16_cache_diLep;
470 std::vector<std::string> m_v_trigs17_cache_diLep;
471 std::vector<std::string> m_v_trigs18_cache_diLep;
472 std::vector<std::string> m_v_trigs22_cache_diLep;
473
474 std::vector<std::string> m_v_trigs15_cache_multiLep;
475 std::vector<std::string> m_v_trigs16_cache_multiLep;
476 std::vector<std::string> m_v_trigs17_cache_multiLep;
477 std::vector<std::string> m_v_trigs18_cache_multiLep;
478 std::vector<std::string> m_v_trigs22_cache_multiLep;
479
480 // Read Handles
481 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_LRTCollectionName{this, "LRTCollectionName", "InDetLargeD0TrackParticles", "LRT collection name"};
482 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_GSFLRTCollectionName{this, "GSFLRTCollectionName", "LRTGSFTrackParticles", "GSF LRT collection name"};
483
484 protected:
485
486 // autoconfiguration of pileup-reweighting tool
487 StatusCode autoconfigurePileupRWTool(const std::string& PRWfilesDir = "dev/PileupReweighting/share/", const std::string& PRWfileName = "", bool usePathResolver = true, bool RPVLLmode = false, bool Combinedmode = false, const std::string& HFFilter = "");
488
489 StatusCode readConfig() override final;
490 StatusCode validConfig(bool strict = false) const;
491
492 const std::vector<std::string> split(const std::string& s, const std::string& delim) const;
493
494 std::string getDefaultJetUncConfig();
495
496 void getTauConfig(const std::string& tauConfigPath, std::vector<float>& pT_window, std::vector<float>& eta_window, bool &eleOLR, bool &muVeto, bool &muOLR) const;
497
498 void configFromFile(bool& property, const std::string& propname, TEnv& rEnv,
499 bool defaultValue);
500 void configFromFile(double& property, const std::string& propname, TEnv& rEnv,
501 double defaultValue);
502 void configFromFile(int& property, const std::string& propname, TEnv& rEnv,
503 int defaultValue);
504 void configFromFile(std::string& property, const std::string& propname, TEnv& rEnv,
505 const std::string& defaultValue, bool allowEmpty=false);
506
507 //little helpers for WP configurations / handling
508 bool check_isOption(const std::string& wp, const std::vector<std::string>& list) const;
509 bool check_isTighter(const std::string& wp1, const std::string& wp, const std::vector<std::string>& list) const;
510
511 std::string EG_WP(const std::string& wp) const; //translate our WPs to make egamma selectors happy
512
513 std::vector<std::string> getElSFkeys(const std::string& mapFile) const;
514
515#ifdef XAOD_STANDALONE // more convenient for property setting
517 xAOD::JetInput::Type m_jetInputType; // permit switching between LC, PFlow, EM jets
518#else
521#endif
522 std::string m_configFile;
523
530
537
541
543
544 std::string m_badJetCut;
545
546 std::string m_fatJetUncConfig;
548 std::string m_fatJetUncVars;
549
553 std::string m_WDecorName;
554 std::string m_ZDecorName;
555 std::string m_TopDecorName;
556 std::string m_WtagConfig;
557 std::string m_ZtagConfig;
558 std::string m_ToptagConfig;
561 std::string m_WTagUncConfig;
562 std::string m_ZTagUncConfig;
563 std::string m_TopTagUncConfig;
565
568
569 std::string m_eleTerm ;
570 std::string m_gammaTerm ;
571 std::string m_tauTerm ;
572 std::string m_jetTerm ;
573 std::string m_muonTerm ;
574 std::string m_inputMETSuffix;
575 std::string m_inputMETMap;
576 std::string m_inputMETCore;
577 std::string m_inputMETRef;
578 std::string m_outMETTerm;
587
591
595
602 std::string m_mcCampaign;
604
614
615 std::vector<std::string> m_prwConfFiles;
616 std::vector<std::string> m_prwLcalcFiles;
622
627
628 // bookkeep supported configurations (in increasing order of tightness)
629 std::vector<std::string> m_el_id_support;
630 std::vector<std::string> m_ph_id_support;
631 int m_mu_id_support; //max value
632 std::vector<std::string> m_tau_id_support;
633 std::vector<std::string> m_el_iso_support;
634 std::vector<std::string> m_mu_iso_support;
635
636 // Iso SF mapping file (temporary while not all SFs are available)
637 std::map<std::string, std::string> m_el_iso_fallback;
638 std::map<std::string, std::string> m_mu_iso_fallback;
639
640 // strings needed for dealing with 2015+2016 electron trigger SFs
642
643 std::map<std::string, std::string> m_tau_trig_support;
644
645 std::string m_eleId;
646 std::string m_eleIdBaseline;
647 std::string m_eleConfig;
653 std::string m_photonId;
655 std::string m_tauId;
656 std::string m_tauIdBaseline;
657 std::string m_eleIso_WP;
658 std::string m_eleIsoHighPt_WP;
660 std::string m_eleChID_WP;
663 bool m_eleChIso; // use Charge ID SF with/without Iso applied
664 bool m_eleChID_signal; // allows to run ECID but remove it from signal definition
665 bool m_runECIS; //run ChargeIDSelector if valid WP was selected
667 std::string m_photonIso_WP;
670 std::string m_muIso_WP;
671 std::string m_muIsoHighPt_WP;
677 std::string m_BtagWP;
678 std::string m_BtagTagger;
680 std::string m_BtagKeyOverride;
685 std::string m_BtagWP_trkJet;
688
689 //configurable cuts here
693 double m_elePt;
694 double m_eleEta;
697 double m_elez0;
704
705
708 double m_muPt;
709 double m_muEta;
710 double m_mud0sig;
711 double m_muz0;
720
728
730 double m_tauPt;
731 double m_tauEta;
732 std::string m_tauConfigPath;
740
741 double m_jetPt;
742 double m_jetEta;
743 double m_jetJvt;
744 std::string m_JvtWP;
746 std::string m_JvtConfigRun2;
747 std::string m_JvtConfigRun3;
748
751
753 std::string m_fJvtWP;
756 std::string m_fJvtConfigRun2;
757 std::string m_fJvtConfigRun3;
758
760
786 std::string m_orBtagWP;
787 std::string m_orInputLabel;
791
795
800
803
805
806 std::map<std::string,bool> m_slices;
809
810 std::string m_metJetSelection;
811
813
814 std::string m_defaultJets;
816 std::string m_fatJets;
818
821 std::vector<CP::SystematicSet> m_fatjetFFSmearingSyst; // as we need to keep track of the systematics of the FFJetSmearingTool
822
823 std::string m_EG_corrModel;
824 std::string m_EG_corrFNList;
826
828
829 std::map<std::string,std::string> m_legsPerTool;
830 std::map<std::string,std::string> m_legsPerTool_ph;
831
840
848
856
858
859 //
860 std::string m_jesConfig;
861 std::string m_jesConfigJMS;
863 std::string m_jesConfigAFII;
864 std::string m_jesConfigFat;
866 std::string m_jesCalibSeq;
867 std::string m_jesCalibSeqJMS;
868 std::string m_jesCalibSeqFat;
869 std::string m_jesCalibArea;
870 //
881 ToolHandleArray<CP::IMuonTriggerScaleFactors> m_muonTrigSFTools;
883 SG::WriteHandleKey<xAOD::MuonContainer> m_outMuonLocation{this, "OutputMuonLocation", "StdWithLRTMuons", "name of the muon container to write"};
884 //
892 //
893 std::vector<asg::AnaToolHandle<IAsgElectronEfficiencyCorrectionTool>> m_elecEfficiencySFTool_trig_mixLep;
894 std::vector<asg::AnaToolHandle<IAsgElectronEfficiencyCorrectionTool>> m_elecEfficiencySFTool_trigEff_mixLep;
895 ToolHandleArray<IAsgElectronEfficiencyCorrectionTool> m_elecTrigSFTools;
896 ToolHandleArray<IAsgElectronEfficiencyCorrectionTool> m_elecTrigEffTools;
898 SG::WriteHandleKey<xAOD::ElectronContainer> m_outElectronLocation{this, "OutputElectronLocation", "StdWithLRTElectrons", "name of the muon container to write"};
899
900 //
910 //
911 std::vector<asg::AnaToolHandle<IAsgPhotonEfficiencyCorrectionTool>> m_photonEfficiencySFTool_trigSF_AsymDiphoton;
912 std::vector<asg::AnaToolHandle<IAsgPhotonEfficiencyCorrectionTool>> m_photonEfficiencySFTool_trigEff_AsymDiphoton;
913 ToolHandleArray<IAsgPhotonEfficiencyCorrectionTool> m_photonTrigSFTools;
914 ToolHandleArray<IAsgPhotonEfficiencyCorrectionTool> m_photonTrigEffTools;
915 //
919 //
925 std::vector<asg::AnaToolHandle<TauAnalysisTools::ITauEfficiencyCorrectionsTool>> m_tauTrigEffTool;
926 //
932 //
936 //
944 //
952 //
960 //
968 //
974 //
977 //disable asg::AnaToolHandle<CP::IIsolationLowPtPLVTool> m_isoToolLowPtPLV;
981 //
983 //
985 //
988 //
991 //
993 std::string m_eleIdDFName;
995 std::string m_photonIdDFName;
996 std::string m_jetCleanDFName;
997 //
1003
1004 }; // Class SUSYObjDef_xAOD
1005
1006 // decorators
1007 const static SG::Decorator<unsigned> dec_isEM("isEM");
1008 const static SG::Decorator<char> dec_baseline("baseline");
1009 const static SG::Decorator<char> dec_selected("selected"); //for priority-aware OR of baseline objects
1010 const static SG::Decorator<char> dec_signal("signal");
1011 const static SG::Decorator<char> dec_isol("isol");
1012 const static SG::Decorator<char> dec_isolHighPt("isolHighPt"); // use different WPs for low-pt and high-pt
1013 const static SG::Decorator<char> dec_passOR("passOR");
1014 const static SG::Decorator<double> dec_effscalefact("effscalefact");
1015 const static SG::Decorator<char> dec_signal_less_JVT("signal_less_JVT");
1016 const static SG::Decorator<char> dec_lrtFilter("passLRTFilter");
1017
1018
1019 // const accessors for reading decorations that we set
1020 const static SG::ConstAccessor<char> acc_baseline("baseline");
1021 const static SG::ConstAccessor<char> acc_selected("selected"); //for priority-aware OR of baseline objects
1022 const static SG::ConstAccessor<char> acc_signal("signal");
1023 const static SG::ConstAccessor<char> acc_isol("isol");
1024 const static SG::ConstAccessor<char> acc_isolHighPt("isolHighPt"); // use different WPs for low-pt and high-pt
1025 const static SG::ConstAccessor<char> acc_passOR("passOR");
1026 const static SG::ConstAccessor<char> acc_signal_less_JVT("signal_less_JVT");
1027 const static SG::ConstAccessor<char> acc_bjet("bjet");
1028 const static SG::ConstAccessor<double> acc_btag_weight("btag_weight");
1029 const static SG::ConstAccessor<float> acc_btag_dl1pb("btag_dl1pb");
1030 const static SG::ConstAccessor<float> acc_btag_dl1pc("btag_dl1pc");
1031 const static SG::ConstAccessor<float> acc_btag_dl1pu("btag_dl1pu");
1032 const static SG::ConstAccessor<int> acc_wtagged("wtagged");
1033 const static SG::ConstAccessor<int> acc_ztagged("ztagged");
1034 const static SG::ConstAccessor<int> acc_toptagged("toptagged");
1036 const static SG::ConstAccessor<char> acc_trigmatched("trigmatched");
1037 const static SG::ConstAccessor<double> acc_effscalefact("effscalefact");
1038 const static SG::ConstAccessor<char> acc_lrtFilter("passLRTFilter");
1040 const static SG::ConstAccessor<float> acc_z0sinTheta("z0sinTheta");
1041 const static SG::ConstAccessor<char> acc_cosmic("cosmic");
1042 const static SG::ConstAccessor<char> acc_passedHighPtCuts("passedHighPtCuts");
1043
1044 // more decorations that are set externally
1046 const static SG::ConstAccessor<int> acc_truthType("truthType");
1047 const static SG::ConstAccessor<int> acc_truthOrigin("truthOrigin");
1048 const static SG::ConstAccessor<int> acc_bkgTruthOrigin("bkgTruthOrigin");
1049 const static SG::ConstAccessor<char> acc_passPhCleaning("DFCommonPhotonsCleaning");
1050 const static SG::ConstAccessor<char> acc_passPhCleaningNoTime("DFCommonPhotonsCleaningNoTime");
1051 const static SG::ConstAccessor<unsigned int> randomrunnumber("RandomRunNumber");
1052 const static SG::ConstAccessor<float> acc_DetEta("DetectorEta");
1053
1054
1055} // namespace ST
1056
1057
1058#endif // not SUSYTOOLS_SUSYOBJDEF_XAOD_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Property holding a SG store/key/clid from which a ReadHandle is made.
Handle class for reading from StoreGate.
static Double_t taus
MuonMDT_CablingMap::DataSource DataSource
Define macros for attributes used to control the static checker.
General interface for tools providing analysis efficiency scale factors.
Interface for (a) muon selector tool(s)
Class to wrap a set of SystematicVariations.
Interface to tool to select electrons.
Interface to tool to select photons.
class IJetCalibrationTool
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
IJetSelector is a dual-use tool interface for a tool that selects a jet.
The base class for all tau tools.
Interface for tools that want to calculate a weight from different event information.
Definition IWeightTool.h:21
Interface class for overlap removal tools.
A container and helper class for overlap removal tools.
Definition ToolBox.h:39
Helper class to provide constant type-safe access to aux data.
Helper class to provide type-safe access to aux data.
Definition Decorator.h:59
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
asg::AnaToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelToolBaseline
std::vector< std::string > m_v_trigs24_cache_singleEle
std::string m_defaultTrackJets
StatusCode GetJetsSyst(const xAOD::JetContainer &calibjets, xAOD::JetContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=true, const std::string &jetkey="") override final
Definition Jets.cxx:321
std::vector< std::string > m_v_trigs23_cache_singleLep
std::vector< std::string > m_ph_id_support
bool m_metRemoveOverlappingCaloTaggedMuons
StatusCode FillTau(xAOD::TauJet &input) override final
Definition Taus.cxx:77
std::string m_BtagWP_trkJet
std::string m_fatJetUncertaintiesMCType
bool isAtlfast() const override final
bool IsBJetLoose(const xAOD::Jet &input) const override final
Definition Jets.cxx:680
std::string m_tauConfigPath
asg::AnaToolHandle< IWeightTool > m_pmgSHnjetWeighter
std::string m_JetTruthLabelName
void getTauConfig(const std::string &tauConfigPath, std::vector< float > &pT_window, std::vector< float > &eta_window, bool &eleOLR, bool &muVeto, bool &muOLR) const
std::map< std::string, std::string > m_conf_to_prop
StatusCode FillElectron(xAOD::Electron &input, const float etcut, const float etacut) override final
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_WTagjetUncertaintiesTool
asg::AnaToolHandle< CP::IElectronLRTOverlapRemovalTool > m_elecLRTORTool
std::vector< std::string > m_mu_iso_support
std::vector< std::string > m_el_id_support
asg::AnaToolHandle< Trig::TrigDecisionTool > m_trigDecTool
double JVT_SFsys(const xAOD::JetContainer *jets, const CP::SystematicSet &systConfig) override final
Definition Jets.cxx:1035
asg::AnaToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
std::string m_trig2017combination_singleLep
asg::AnaToolHandle< IWeightTool > m_pmgSHnjetWeighterWZ
std::string m_prwActualMu2018File
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_ZTagjetUncertaintiesTool
bool IsSignalTau(const xAOD::TauJet &input, const float ptcut, const float etacut) const override final
Definition Taus.cxx:112
double FJVT_SF(const xAOD::JetContainer *jets) override final
Definition Jets.cxx:1060
std::string m_autoconfigPRWPath
std::string m_trig2017combination_diPhoton
std::string m_trig2018combination_singleLep
StatusCode ApplyLRTUncertainty() override final
std::vector< asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > > m_elecEfficiencySFTool_trig_mixLep
std::string m_trig2016combination_multiLep
std::string m_photonIdBaseline
asg::AnaToolHandle< IJetCalibrationTool > m_jetFatCalibTool
std::string m_trig2016combination_diPhoton
asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > m_trigGlobalEffCorrTool_multiLep
asg::AnaToolHandle< CP::IIsolationSelectionTool > m_isoBaselineTool
std::vector< std::string > m_v_trigs18_cache_multiLep
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_isoHighPt
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencySFTool
std::string m_eleEffMapFilePathRun2
std::string m_prwActualMu2022File
asg::AnaToolHandle< CP::IPileupReweightingTool > m_prwTool
std::string m_EG_corrFNList
asg::AnaToolHandle< TauAnalysisTools::ITauSelectionTool > m_tauSelTool
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesPDSmearTool
std::string m_autoconfigPRWRtags
std::string m_trig2024combination_singleLep
float BtagSFsys_trkJet(const xAOD::JetContainer *trkjets, const CP::SystematicSet &systConfig) override final
Definition Jets.cxx:968
asg::AnaToolHandle< IAsgElectronLikelihoodTool > m_elecSelLikelihood
std::vector< asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > > m_elecEfficiencySFTool_trigEff_mixLep
double m_orBoostedElectronMaxConeSize
ST::SystInfo getSystInfo(const CP::SystematicVariation &sys) const override final
StatusCode prepareLRTElectrons(const xAOD::ElectronContainer *inMuons, xAOD::ElectronContainer *copy) const override final
Definition Electrons.cxx:90
bool IsBadMuon(const xAOD::Muon &input, const float qopcut) const override final
Definition Muons.cxx:405
std::vector< std::string > m_v_trigs15_cache_singleEle
ToolHandleArray< CP::IMuonTriggerScaleFactors > m_muonTrigSFTools
double FJVT_SFsys(const xAOD::JetContainer *jets, const CP::SystematicSet &systConfig) override final
Definition Jets.cxx:1106
std::vector< std::string > m_prwLcalcFiles
std::string m_metsysConfigPrefix
StatusCode OverlapRemoval(const xAOD::ElectronContainer *electrons, const xAOD::MuonContainer *muons, const xAOD::JetContainer *jets, const xAOD::PhotonContainer *gamma=nullptr, const xAOD::TauJetContainer *taujet=nullptr, const xAOD::JetContainer *fatjets=nullptr) override final
bool check_isTighter(const std::string &wp1, const std::string &wp, const std::vector< std::string > &list) const
asg::AnaToolHandle< TauAnalysisTools::ITauEfficiencyCorrectionsTool > m_tauEffTool
void setDataSource(int source)
std::string m_trig2016combination_singleLep
bool isPrompt(const xAOD::IParticle *part) const override final
Definition Truth.cxx:24
std::string m_trigMatchingPrefix
Use composite trigger matching tool if matching was done upstream.
asg::AnaToolHandle< CP::IIsolationSelectionTool > m_isoHighPtTool
std::string m_commonPRWFileMC20d
StatusCode GetTrackJets(xAOD::JetContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=true, const std::string &jetkey="", const xAOD::JetContainer *containerToBeCopied=nullptr) override final
Definition Jets.cxx:169
std::map< std::string, bool > m_slices
bool IsMETTrigPassed(unsigned int runnumber=0, bool j400_OR=false) const override final
Definition Trigger.cxx:30
asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > m_trigGlobalEffCorrTool_diPhoton
asg::AnaToolHandle< IAsgElectronLikelihoodTool > m_elecSelLikelihoodBaseline
std::string m_commonPRWFileMC23c
bool isWeight(const CP::SystematicSet &systSet) const
bool isVariation(const CP::SystematicSet &syst) const
double GetTotalJetSFsys(const xAOD::JetContainer *jets, const CP::SystematicSet &systConfig, const bool btagSF=true, const bool jvtSF=true, const bool fjvtSF=false) override final
Definition Jets.cxx:1143
asg::AnaToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEM
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 override final
bool isData() const override final
SG::ConstAccessor< char > m_acc_photonId
StatusCode MergeElectrons(const xAOD::ElectronContainer &electrons, xAOD::ElectronContainer *outputCol, const std::set< const xAOD::Electron * > &ElectronsToRemove) const override final
Definition Electrons.cxx:61
double GetSignalTauSFsys(const xAOD::TauJet &tau, const CP::SystematicSet &systConfig, const bool idSF=true, const bool triggerSF=true, const std::string &trigExpr="tau25_medium1_tracktwo") override final
Definition Taus.cxx:160
std::map< std::string, std::string > m_legsPerTool_ph
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_id
float BtagSFsys(const xAOD::JetContainer *jets, const CP::SystematicSet &systConfig) override final
Definition Jets.cxx:887
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonTTVAEfficiencySFTool
std::string m_ZTagUncConfig
StatusCode NearbyLeptonCorrections(xAOD::ElectronContainer *electrons=nullptr, xAOD::MuonContainer *muons=nullptr) const override final
asg::AnaToolHandle< ICPJetCorrectionTool > m_fatjetFFSmearingTool
std::string m_eleEffMapFilePath
std::string m_WZTaggerCalibArea
unsigned int GetRunNumber() const override final
std::string m_trig2015combination_singleLep
std::string m_EigenvectorReductionB
static bool FindSusyHardProc(const xAOD::TruthParticleContainer *truthP, int &pdgid1, int &pdgid2, bool isTruth3=false)
Definition Truth.cxx:126
const xAOD::ElectronContainer * lrt_electrons
asg::AnaToolHandle< IMETSignificance > m_metSignif
asg::AnaToolHandle< CP::IIsolationSelectionTool > m_isoTool
asg::AnaToolHandle< CP::IJvtEfficiencyTool > m_jetfJvtEfficiencyTool
void GetTriggerTokens(std::string, std::vector< std::string > &, std::vector< std::string > &, std::vector< std::string > &, std::vector< std::string > &, std::vector< std::string > &, std::vector< std::string > &, std::vector< std::string > &) const
Definition Trigger.cxx:338
SG::ConstAccessor< char > m_acc_eleId
std::string m_prwActualMu2024File
std::vector< std::string > m_v_trigs22_cache_diLep
std::string m_metJetSelection
float GetPileupWeightPrescaledTrigger(const std::string &trigger_expr) override final
SG::WriteHandleKey< xAOD::MuonContainer > m_outMuonLocation
std::vector< std::string > m_el_iso_support
std::string m_trig2017combination_multiLep
std::string m_jetUncertaintiesConfig
Prefix for trigger matchiing container name.
int getMCShowerType(const std::string &sample_name="", const std::string &tagger="") const override final
double GetTotalJetSF(const xAOD::JetContainer *jets, const bool btagSF=true, const bool jvtSF=true, const bool fjvtSF=false) override final
Definition Jets.cxx:1130
asg::AnaToolHandle< Trig::IMatchingTool > m_trigMatchingTool
std::string m_photonBaselineIso_WP
asg::AnaToolHandle< IAsgElectronLikelihoodTool > m_elecChargeIDSelectorTool
StatusCode GetTaus(xAOD::TauJetContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=true, const std::string &taukey="TauJets", const xAOD::TauJetContainer *containerToBeCopied=nullptr) override final
Definition Taus.cxx:31
SG::WriteHandleKey< xAOD::ElectronContainer > m_outElectronLocation
StatusCode ApplyPRWTool(bool muDependentRRN=true) override final
double GetSumOfWeights(int channel) override final
std::string m_BtagSystStrategy
const Trig::ChainGroup * GetTrigChainGroup(const std::string &) const override final
Definition Trigger.cxx:315
ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > m_elecTrigEffTools
std::map< std::string, std::string > m_tau_trig_support
std::vector< asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > > m_photonEfficiencySFTool_trigSF_AsymDiphoton
ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > m_elecTrigSFTools
std::string EG_WP(const std::string &wp) const
double GetTauTriggerEfficiencySF(const xAOD::TauJet &tau, const std::string &trigExpr="tau25_medium1_tracktwo") override final
Definition Taus.cxx:194
double GetSignalTauSF(const xAOD::TauJet &tau, const bool idSF=true, const bool triggerSF=true, const std::string &trigExpr="tau25_medium1_tracktwo") override final
Definition Taus.cxx:130
StatusCode applySystematicVariation(const CP::SystematicSet &systConfig) override final
std::string m_defaultTruthJets
std::string m_commonPRWFileMC20e
StatusCode GetPhotons(xAOD::PhotonContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=true, const std::string &photonkey="Photons", const xAOD::PhotonContainer *containerToBeCopied=nullptr) override final
Definition Photons.cxx:33
bool IsHighPtMuon(const xAOD::Muon &input) const override final
Definition Muons.cxx:386
asg::AnaToolHandle< JetPileupLabelingTool > m_jetPileupLabelingTool
std::string m_trig2023combination_singleLep
asg::AnaToolHandle< CP::IMuonLRTOverlapRemovalTool > m_muonLRTORTool
StatusCode FindSusyHP(int &pdgid1, int &pdgid2) const
Definition Truth.cxx:76
std::vector< std::string > m_v_trigs23_cache_singleEle
SUSYObjDef_xAOD(const std::string &name)
bool IsTrackBJet(const xAOD::Jet &input) const override final
Definition Jets.cxx:782
double GetTotalTauSF(const xAOD::TauJetContainer &taus, const bool idSF=true, const bool triggerSF=true, const std::string &trigExpr="tau25_medium1_tracktwo") override final
Definition Taus.cxx:228
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 override final
StatusCode FillTrackJet(xAOD::Jet &input) override final
Definition Jets.cxx:643
float BtagSF_trkJet(const xAOD::JetContainer *trkjets) override final
Definition Jets.cxx:907
SG::ConstAccessor< char > m_acc_photonIdBaseline
asg::AnaToolHandle< JSSWTopTaggerDNN > m_TopTaggerTool
const xAOD::ElectronContainer * prompt_electrons
float GetTrigPrescale(const std::string &) const override final
Definition Trigger.cxx:310
const CP::SystematicSet & currentSystematic() const
StatusCode MergeMuons(const xAOD::MuonContainer &muons, const std::vector< bool > &writeMuon, xAOD::MuonContainer *outputCol) const override final
Definition Muons.cxx:56
asg::AnaToolHandle< CP::IMuonTriggerScaleFactors > m_muonTriggerSFTool
std::string m_jetUncertaintiesCalibArea
float GetCorrectedActualInteractionsPerCrossing(bool includeDataSF=false) override final
std::vector< std::string > m_tau_id_support
StatusCode prepareLRTMuons(const xAOD::MuonContainer *inMuons, xAOD::MuonContainer *copy) const override final
Definition Muons.cxx:74
std::string m_tauEffToolRecommendationTag
std::string m_muBaselineIso_WP
std::vector< std::string > m_v_trigs18_cache_singleEle
int treatAsYear(const int runNumber=-1) const override final
int IsBJetContinuous(const xAOD::Jet &input) const override final
Definition Jets.cxx:793
std::vector< std::string > m_v_trigs17_cache_multiLep
const xAOD::MuonContainer * lrt_muons
unsigned int GetRandomRunNumber(bool muDependentRRN=true) override final
std::vector< std::string > m_v_trigs22_cache_singleLep
asg::AnaToolHandle< IAsgDeadHVCellRemovalTool > m_deadHVTool
std::string m_TopTaggerCalibArea
std::vector< std::string > GetTriggerOR(const std::string &trigExpr) const
Definition Trigger.cxx:320
double GetSignalPhotonSF(const xAOD::Photon &ph, const bool effSF=true, const bool isoSF=true, const bool triggerSF=false) const override final
Definition Photons.cxx:206
std::string m_trig2015combination_diLep
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_trigEff_singleLep
std::string m_photonTriggerName
asg::AnaToolHandle< IAsgSelectionTool > m_jetNNJvtSelectionTool
float GetPileupWeight() override final
asg::AnaToolHandle< SmoothedWZTagger > m_ZTaggerTool
asg::AnaToolHandle< JetPileupTag::JetVertexNNTagger > m_jetNNJvtMomentTool
std::string m_fJvtConfigRun3
std::vector< std::string > m_v_trigs15_cache_multiLep
int IsTrackBJetContinuous(const xAOD::Jet &input) const override final
Definition Jets.cxx:815
std::string m_eleIdBaseline
std::map< std::string, std::string > m_el_iso_fallback
CP::SystematicSet m_currentSyst
StatusCode initialize() override final
Dummy implementation of the initialisation function.
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonEfficiencyBMHighPtSFTool
asg::AnaToolHandle< ORUtils::IOverlapTool > m_tauJetORtool
std::vector< std::string > m_v_trigs17_cache_diLep
std::string m_jetCleanDFName
float GetCorrectedAverageInteractionsPerCrossing(bool includeDataSF=false) override final
std::string m_commonPRWFileMC23d
std::string m_muIsoHighPt_WP
std::vector< std::string > m_v_trigs18_cache_singleLep
CP::SystematicSet m_defaultSyst
std::string m_jesConfigJMSData
bool IsTrigPassed(const std::string &, unsigned int condition=TrigDefs::Physics) const override final
Definition Trigger.cxx:213
std::string m_commonPRWFileMC23e
asg::AnaToolHandle< CP::IMuonCalibrationAndSmearingTool > m_muonCalibTool
std::string m_fJvtConfigRun2
std::vector< std::string > m_v_trigs15_cache_diLep
std::string m_photonIdBaselineDFName
double GetTotalMuonSFsys(const xAOD::MuonContainer &muons, const CP::SystematicSet &systConfig, const bool recoSF=true, const bool isoSF=true, const std::string &trigExpr="HLT_mu20_iloose_L1MU15_OR_HLT_mu50", const bool bmhptSF=true) override final
Definition Muons.cxx:622
asg::AnaToolHandle< JetVertexTaggerTool > m_jetJvtMomentTool
ULong64_t GetPileupWeightHash() override final
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_jetUncertaintiesTool
double GetTriggerGlobalEfficiency(const xAOD::ElectronContainer &electrons, const xAOD::MuonContainer &muons, const std::string &trigExpr="diLepton") override final
Definition Trigger.cxx:586
std::string m_tauSmearingToolRecommendationTag
asg::AnaToolHandle< IEGammaAmbiguityTool > m_egammaAmbiguityTool
std::vector< std::string > m_v_trigs22_cache_multiLep
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecChargeEffCorrTool
StatusCode validConfig(bool strict=false) const
asg::AnaToolHandle< TrigConf::ITrigConfigTool > m_trigConfTool
double GetTotalMuonTriggerSF(const xAOD::MuonContainer &sfmuons, const std::string &trigExpr) override final
Definition Muons.cxx:547
std::string m_WTagUncConfig
asg::AnaToolHandle< CP::IIsolationCloseByCorrectionTool > m_isoCloseByTool
std::string m_jesCalibSeqJMS
bool IsTrigMatched(const xAOD::IParticle *part, const std::string &tr_item) override final
Definition Trigger.cxx:218
std::string m_tauIdBaseline
std::string m_eleIsoHighPt_WP
bool check_isOption(const std::string &wp, const std::vector< std::string > &list) const
asg::AnaToolHandle< IMETMaker > m_metMaker
asg::AnaToolHandle< Trig::IMatchScoringTool > m_trigDRScoringTool
bool JetPassJVT(xAOD::Jet &input) override final
Definition Jets.cxx:687
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_chf
bool IsSignalMuon(const xAOD::Muon &input, const float ptcut, const float d0sigcut, const float z0cut, const float etacut=DUMMYDEF) const override final
Definition Muons.cxx:344
StatusCode resetSystematics() override final
asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > m_photonIsolationSFTool
double GetTotalPhotonSFsys(const xAOD::PhotonContainer &photons, const CP::SystematicSet &systConfig, const bool effSF=true, const bool isoSF=true, const bool triggerSF=false) override final
Definition Photons.cxx:332
bool m_orDoTau
Overlap removal options.
StatusCode readConfig() override final
std::string m_trig2016combination_diLep
std::vector< std::string > m_v_trigs24_cache_singleLep
double GetTriggerGlobalEfficiencySF(const xAOD::ElectronContainer &electrons, const xAOD::MuonContainer &muons, const std::string &trigExpr="diLepton") override final
Definition Trigger.cxx:431
std::string m_JvtConfigRun2
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_fatjetUncertaintiesTool
StatusCode GetMuons(xAOD::MuonContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=true, const std::string &muonkey="Muons", const std::string &lrtmuonkey="MuonsLRT", const xAOD::MuonContainer *containerToBeCopied=nullptr) override final
Definition Muons.cxx:101
bool isNominal(const CP::SystematicSet &syst) const
std::vector< std::string > m_v_trigs18_cache_diLep
asg::AnaToolHandle< CP::IIsolationCorrectionTool > m_isoCorrTool
ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > m_photonTrigSFTools
double JVT_SF(const xAOD::JetContainer *jets) override final
Definition Jets.cxx:988
std::vector< ST::SystInfo > getSystInfoList() const override final
StatusCode GetTrackMET(xAOD::MissingETContainer &met, const xAOD::JetContainer *jet, const xAOD::ElectronContainer *elec=nullptr, const xAOD::MuonContainer *muon=nullptr) override final
Definition MET.cxx:161
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_GSFLRTCollectionName
std::string m_eleConfigBaseline
std::string m_trig2022combination_singleLep
asg::AnaToolHandle< IMETSystematicsTool > m_metSystTool
double GetTotalTauSFsys(const xAOD::TauJetContainer &taus, const CP::SystematicSet &systConfig, const bool idSF=true, const bool triggerSF=true, const std::string &trigExpr="tau25_medium1_tracktwo") override final
Definition Taus.cxx:250
float BtagSF(const xAOD::JetContainer *jets) override final
Definition Jets.cxx:826
std::mutex m_triggerCacheMutex
std::set< std::string > m_bool_prop_set
bool IsCosmicMuon(const xAOD::Muon &input, const float z0cut, const float d0cut) const override final
Definition Muons.cxx:444
asg::AnaToolHandle< CP::IMuonSelectionTool > m_muonSelectionHighPtTool
std::string m_EigenvectorReductionLight
asg::AnaToolHandle< IAsgSelectionTool > m_jetfJvtSelectionTool
bool currentSystematicIsVariation() const
StatusCode FillPhoton(xAOD::Photon &input, const float ptcut, const float etacut) override final
Definition Photons.cxx:78
std::string m_trig2018combination_diPhoton
asg::AnaToolHandle< IJetSelector > m_jetCleaningTool
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) override final
const xAOD::TrackParticleContainer & GetInDetLargeD0GSFTracks(const EventContext &ctx) const override final
asg::AnaToolHandle< IBTaggingSelectionTool > m_btagSelTool_trkJet
asg::AnaToolHandle< InDet::IInclusiveTrackFilterTool > m_LRTuncTool
std::vector< std::string > getElSFkeys(const std::string &mapFile) const
std::vector< std::string > m_v_trigs16_cache_multiLep
asg::AnaToolHandle< CP::IJvtEfficiencyTool > m_jetNNJvtEfficiencyTool
float GetDataWeight(const std::string &) override final
std::string m_commonPRWFileMC20a
std::string m_trig2022combination_diLep
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonHighPtIsolationSFTool
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_LRTCollectionName
std::string m_tauSmearingToolGenerator
asg::AnaToolHandle< TauAnalysisTools::ITauSmearingTool > m_tauSmearingTool
Trig::FeatureContainer GetTriggerFeatures(const std::string &chainName="EF_.*", unsigned int condition=TrigDefs::Physics) const
Definition Trigger.cxx:426
SG::ConstAccessor< char > m_acc_eleIdBaseline
std::string m_trig2018combination_diLep
StatusCode GetMET(xAOD::MissingETContainer &met, const xAOD::JetContainer *jet, const xAOD::ElectronContainer *elec=nullptr, const xAOD::MuonContainer *muon=nullptr, const xAOD::PhotonContainer *gamma=nullptr, const xAOD::TauJetContainer *taujet=nullptr, bool doTST=true, bool doJVTCut=true, const xAOD::IParticleContainer *invis=nullptr) override final
Definition MET.cxx:23
std::string m_trig2017combination_diLep
asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > m_trigGlobalEffCorrTool_diLep
bool emulateHLT(const std::string &triggerName) const
Definition Trigger.cxx:97
StatusCode GetElectrons(xAOD::ElectronContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=true, const std::string &elekey="Electrons", const std::string &lrtelekey="LRTElectrons", const xAOD::ElectronContainer *containerToBeCopied=nullptr) override final
asg::AnaToolHandle< IBTaggingEfficiencyTool > m_btagEffTool_trkJet
std::string m_prwActualMu2017File
std::vector< std::string > m_v_trigs22_cache_singleEle
std::vector< std::string > m_prwConfFiles
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_reco
Combined muon collection.
std::string m_jesConfigAFII
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) override final
const xAOD::Vertex * GetPrimVtx() const override final
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_TopTagjetUncertaintiesTool
std::vector< CP::SystematicSet > m_fatjetFFSmearingSyst
StatusCode SetBtagWeightDecorations(const xAOD::Jet &input, const asg::AnaToolHandle< IBTaggingSelectionTool > &btagSelTool, const std::string &btagTagger) const override final
Definition Jets.cxx:1155
StatusCode GetJets(xAOD::JetContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=true, const std::string &jetkey="", const xAOD::JetContainer *containerToBeCopied=nullptr) override final
Definition Jets.cxx:73
StatusCode GetMETSig(xAOD::MissingETContainer &met, double &metSignificance, bool doTST=true, bool doJVTCut=true) override final
Definition MET.cxx:240
std::vector< std::string > m_v_trigs17_cache_singleEle
asg::AnaToolHandle< IBTaggingEfficiencyTool > m_btagEffTool
StatusCode SUSYToolsInit()
double GetTriggerGlobalEfficiencySFsys(const xAOD::ElectronContainer &electrons, const xAOD::MuonContainer &muons, const CP::SystematicSet &systConfig, const std::string &trigExpr="diLepton") override final
Definition Trigger.cxx:487
SG::ReadDecorHandleKey< xAOD::JetContainer > m_label_truthKey
float getSherpaVjetsNjetsWeight() const override final
std::vector< std::string > m_v_trigs16_cache_singleLep
bool IsBadJet(const xAOD::Jet &input) const override final
Definition Jets.cxx:745
asg::AnaToolHandle< TauAnalysisTools::ITauTruthMatchingTool > m_tauTruthMatch
std::map< std::string, std::string > m_legsPerTool
std::vector< std::string > m_v_trigs16_cache_singleEle
asg::AnaToolHandle< IBTaggingSelectionTool > m_btagSelTool_OR
std::string m_commonPRWFileMC21a
std::string m_muTriggerSFCalibRelease
std::vector< asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > > m_photonEfficiencySFTool_trigEff_AsymDiphoton
std::string m_tauConfigPathBaseline
std::vector< std::string > m_v_trigs16_cache_diLep
bool IsSignalElectron(const xAOD::Electron &input, const float etcut, const float d0sigcut, const float z0cut, const float etacut=DUMMYDEF) const override final
StatusCode GetFatJets(xAOD::JetContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, const bool recordSG=false, const std::string &jetkey="", const bool doLargeRdecorations=false, const xAOD::JetContainer *containerToBeCopied=nullptr) override final
Definition Jets.cxx:242
std::map< std::string, std::string > m_mu_iso_fallback
bool IsSignalPhoton(const xAOD::Photon &input, const float ptcut, const float etacut=DUMMYDEF) const override final
Definition Photons.cxx:167
std::string m_jetUncertaintiesAnalysisFile
bool isTrigInTDT(std::scoped_lock< std::mutex > &lock, const std::string &triggerName) const
Definition Trigger.cxx:83
std::string m_BtagKeyOverride
asg::AnaToolHandle< IAsgPhotonIsEMSelector > m_photonSelIsEMBaseline
bool currentSystematicIsNominal() const
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) override final
Definition Muons.cxx:602
std::string m_eleIdBaselineDFName
std::string m_jetUncertaintiesMCType
std::string m_inputMETSuffix
std::vector< asg::AnaToolHandle< TauAnalysisTools::ITauEfficiencyCorrectionsTool > > m_tauTrigEffTool
asg::AnaToolHandle< IBTaggingSelectionTool > m_btagSelTool
StatusCode FillMuon(xAOD::Muon &input, const float ptcut, const float etacut) override final
Definition Muons.cxx:208
SG::ConstAccessor< char > m_acc_jetClean
bool IsTruthBJet(const xAOD::Jet &input) const override final
Definition Truth.cxx:301
ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > m_photonTrigEffTools
double GetTotalPhotonSF(const xAOD::PhotonContainer &photons, const bool effSF=true, const bool isoSF=true, const bool triggerSF=false) const override final
Definition Photons.cxx:320
asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > m_photonTriggerSFTool
std::string m_EigenvectorReductionC
std::string m_fatJetUncConfig
ORUtils::ToolBox m_orToolbox
std::string m_TopTagUncConfig
asg::AnaToolHandle< Trig::IMatchScoringTool > m_trigMatchScoringTool
asg::AnaToolHandle< CP::IMuonSelectionTool > m_muonSelectionToolBaseline
double GetSignalPhotonSFsys(const xAOD::Photon &ph, const CP::SystematicSet &systConfig, const bool effSF=true, const bool isoSF=true, const bool triggerSF=false) override final
Definition Photons.cxx:247
std::string m_trig2022combination_multiLep
std::string m_muTriggerSFCalibFilename
asg::AnaToolHandle< CP::IEgammaCalibrationAndSmearingTool > m_egammaCalibTool
Combined electron collection.
std::string m_IsoCloseByORpassLabel
const xAOD::TrackParticleContainer & GetInDetLargeD0Tracks(const EventContext &ctx) const override final
StatusCode autoconfigurePileupRWTool(const std::string &PRWfilesDir="dev/PileupReweighting/share/", const std::string &PRWfileName="", bool usePathResolver=true, bool RPVLLmode=false, bool Combinedmode=false, const std::string &HFFilter="")
std::string m_trig2015combination_multiLep
std::string m_trig2022combination_diPhoton
void configFromFile(bool &property, const std::string &propname, TEnv &rEnv, bool defaultValue)
std::string m_prwActualMu2023File
double GetMuonTriggerEfficiency(const xAOD::Muon &mu, const std::string &trigExpr, const bool isdata=false) override final
Definition Muons.cxx:533
bool IsSignalJet(const xAOD::Jet &input, const float ptcut, const float etacut) const override final
Definition Jets.cxx:693
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_trig_singleLep
asg::AnaToolHandle< JetTruthLabelingTool > m_jetTruthLabelingTool
std::map< std::string, std::function< bool()> > m_metTriggerFuncs ATLAS_THREAD_SAFE
asg::AnaToolHandle< ICPJetUncertaintiesTool > m_fatjetUncertaintiesPDSmearTool
std::string m_autoconfigPRWFile
StatusCode setBoolProperty(const std::string &name, const bool &property) override final
std::string m_bTaggingCalibrationFilePath
float GetSignalMuonSF(const xAOD::Muon &mu, const bool recoSF=true, const bool isoSF=true, const bool doBadMuonHP=true, const bool warnOVR=true) override final
Definition Muons.cxx:480
asg::AnaToolHandle< IAsgElectronEfficiencyCorrectionTool > m_elecEfficiencySFTool_iso
StatusCode FillJet(xAOD::Jet &input, const bool doCalib=true, bool isFat=false, bool doLargeRdecorations=false) override final
Definition Jets.cxx:383
asg::AnaToolHandle< SmoothedWZTagger > m_WTaggerTool
std::string m_commonPRWFileMC23a
asg::AnaToolHandle< IJetCalibrationTool > m_jetCalibTool
std::string m_photonIdDFName
bool currentSystematicIsWeight() const
float GetTotalElectronSFsys(const xAOD::ElectronContainer &electrons, const CP::SystematicSet &systConfig, 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) override final
std::string m_eleBaselineIso_WP
std::vector< std::string > m_v_trigs15_cache_singleLep
std::string m_fatJetUncVars
std::string m_electronTriggerSFStringSingle
std::string getDefaultJetUncConfig()
std::string m_trig2015combination_diPhoton
asg::AnaToolHandle< CP::IMuonEfficiencyScaleFactors > m_muonIsolationSFTool
const xAOD::EventInfo * GetEventInfo() const override final
std::vector< std::string > m_v_trigs17_cache_singleLep
std::string m_jesConfigFatData
std::string TrigSingleLep() const override final
std::string m_BtagTagger_trkJet
const xAOD::MuonContainer * prompt_muons
std::string m_trig2018combination_multiLep
asg::AnaToolHandle< IAsgPhotonEfficiencyCorrectionTool > m_photonEfficiencySFTool
std::string m_JvtConfigRun3
std::string m_jesCalibSeqFat
bool IsBJet(const xAOD::Jet &input) const override final
Definition Jets.cxx:771
Class to wrap a set of SystematicVariations.
Interface for tau selector tool.
Interface for dual-use tools that provide trigger configuration information.
Interface class for scoring pairs of particles for matching.
a modified tool handle that allows its owner to configure new tools from the C++ side
Base class for dual-use tools that provide file metadata access.
Class providing the definition of the 4-vector interface.
Class creating a shallow copy of an existing auxiliary container.
static std::vector< uint32_t > runnumber
Definition iLumiCalc.h:37
Select isolated Photons, Electrons and Muons.
Primary Vertex Finder.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
static const SG::Decorator< char > dec_lrtFilter("passLRTFilter")
static const SG::ConstAccessor< float > acc_d0sig("d0sig")
static const SG::ConstAccessor< float > acc_DetEta("DetectorEta")
static int getMCShowerType(const std::string &sample_name, const std::string &tagger="")
static const SG::ConstAccessor< double > acc_btag_weight("btag_weight")
static const SG::Decorator< char > dec_passOR("passOR")
static const SG::ConstAccessor< char > acc_isolHighPt("isolHighPt")
static const SG::ConstAccessor< double > acc_effscalefact("effscalefact")
static const SG::ConstAccessor< char > acc_bad("bad")
static const SG::Decorator< double > dec_effscalefact("effscalefact")
static const SG::ConstAccessor< char > acc_signal_less_JVT("signal_less_JVT")
Accessor for signal jets without a JVT requirement.
static const SG::ConstAccessor< int > acc_ztagged("ztagged")
static const SG::ConstAccessor< unsigned int > randomrunnumber("RandomRunNumber")
static const SG::ConstAccessor< int > acc_truthType("truthType")
static const SG::Decorator< char > dec_baseline("baseline")
static const SG::Decorator< char > dec_isolHighPt("isolHighPt")
static const SG::ConstAccessor< char > acc_passPhCleaning("DFCommonPhotonsCleaning")
static const SG::ConstAccessor< int > acc_truthOrigin("truthOrigin")
static const SG::ConstAccessor< float > acc_z0sinTheta("z0sinTheta")
static const SG::Decorator< unsigned > dec_isEM("isEM")
static const SG::Decorator< char > dec_signal_less_JVT("signal_less_JVT")
Decorator for signal jets without a JVT requirement.
static const SG::ConstAccessor< char > acc_passedHighPtCuts("passedHighPtCuts")
static const SG::ConstAccessor< char > acc_passPhCleaningNoTime("DFCommonPhotonsCleaningNoTime")
static const SG::ConstAccessor< int > acc_bkgTruthOrigin("bkgTruthOrigin")
static const SG::ConstAccessor< char > acc_trigmatched("trigmatched")
static const SG::ConstAccessor< unsigned int > acc_OQ("OQ")
static const SG::ConstAccessor< char > acc_selected("selected")
static const SG::ConstAccessor< char > acc_signal("signal")
static const SG::ConstAccessor< char > acc_baseline("baseline")
static const SG::ConstAccessor< float > acc_btag_dl1pu("btag_dl1pu")
static const double DUMMYDEF
static const SG::ConstAccessor< float > acc_btag_dl1pb("btag_dl1pb")
static const SG::ConstAccessor< char > acc_bjet("bjet")
static const SG::ConstAccessor< int > acc_wtagged("wtagged")
static const SG::ConstAccessor< char > acc_cosmic("cosmic")
static const SG::ConstAccessor< int > acc_toptagged("toptagged")
static const SG::ConstAccessor< char > acc_passOR("passOR")
static const SG::ConstAccessor< float > acc_btag_dl1pc("btag_dl1pc")
static const SG::ConstAccessor< char > acc_lrtFilter("passLRTFilter")
static const SG::ConstAccessor< char > acc_isol("isol")
static const SG::Decorator< char > dec_isol("isol")
static const SG::Decorator< char > dec_signal("signal")
static const SG::Decorator< char > dec_selected("selected")
Forward iterator to traverse the main components of the trigger configuration.
Definition Config.h:22
std::vector< std::string > split(const std::string &line, const std::string &del=" ")
helper namespace for calculating deltaR for unknown object types
The common trigger namespace for trigger analysis tools.
Definition part1.py:1
Definition part2.py:1
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Jet_v1 Jet
Definition of the current "jet version".
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
TauJet_v3 TauJet
Definition of the current "tau version".
TruthEvent_v1 TruthEvent
Typedef to implementation.
Definition TruthEvent.h:17
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
Photon_v1 Photon
Definition of the current "egamma version".
setBGCode setTAP setLVL2ErrorBits bool
JetContainer_v1 JetContainer
Definition of the current "jet container version".
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.
Electron_v1 Electron
Definition of the current "egamma version".
DataVector< IParticle > IParticleContainer
Simple convenience declaration of IParticleContainer.