ATLAS Offline Software
Namespaces | Classes | Enumerations | Functions | Variables
top Namespace Reference

TopConfig A simple configuration that is NOT a singleton. More...

Namespaces

 KLFitterJetSelection
 Some additional enums.
 
 PartonHistoryUtils
 
 truth
 

Classes

class  AbsoluteIsolationDC14
 These should give you access to xAOD::Iso::topoetcone20, 30, 40 and ptcone20, 30, 40. More...
 
class  AnalysisTrackingHelper
 Helper for collecting data for analysis tracking. More...
 
class  AntiMuon
 Select muons based on some early suggestions. More...
 
class  AntiMuonIsolation
 Apply the cuts relevant for Anti-muon model. More...
 
class  ApproxPTVarCone
 Danilo's approximation of mini-isolation which has been calculated in AnalysisTop and applied as a decoration to the objects. More...
 
class  BoostedTaggingCPTools
 
class  BTagScaleFactorCalculator
 
class  CalcTbbarPartonHistory
 
class  CalcThqPartonHistory
 
class  CalcTopPartonHistory
 
class  CalcTtbarGammaPartonHistory
 
class  CalcTtbarLightPartonHistory
 
class  CalcTtbarPartonHistory
 
class  CalcTthPartonHistory
 
class  CalcTTZPartonHistory
 
class  CalcTzqPartonHistory
 
class  CalcWlvPartonHistory
 
class  CalcWtbPartonHistory
 
class  Chi2LJets
 Not complete. More...
 
class  ConfigurationSettings
 Hold the configuration information for the whole run. More...
 
class  EgammaCPTools
 
class  EgammaObjectCollectionMaker
 
class  ElectronInJetSubtractionAlgorithm
 
class  ElectronInJetSubtractionCollectionMaker
 
class  ElectronLikelihood
 To select electrons based on the "likelihood" definition. More...
 
class  ElectronScaleFactorCalculator
 
class  ElectronSelectionBase
 Base class for implementing an electron selection. More...
 
class  Event
 Very simple class to hold event data after reading from a file. More...
 
class  EventCleaningSelection
 
class  EventSaverBase
 A base class so users can write their own event saving stuff. More...
 
class  EventSaverFlatNtuple
 Some code that writes out a 'standard' flat ntuple. More...
 
class  EventSaverxAOD
 Write out the selected events in xAOD format. More...
 
class  EventSaverxAODNext
 Write out the selected events in xAOD format. More...
 
class  EventSelection
 Perform the event selection on a top::Event object. More...
 
class  EventSelectionManager
 Maybe you want to run multiple selections (e+jets, mu+jets) on the same input files at the same time. More...
 
class  EventSelectorBase
 This should apply event-level cuts and perform simple plotting on top::Event objects. More...
 
class  ExamplePlots
 An example of how to quickly make some plots at a certain point in the cutflow. More...
 
class  FakesMMConfigs
 An example of how to quickly make some plots at a certain point in the cutflow. More...
 
class  FitInfo
 Hold the information that is required for the chi^2 minimisation. More...
 
class  FlavorTaggingCPTools
 
class  FwdElectronScaleFactorCalculator
 
class  FwdElectronSelectionBase
 Base class for implementing an electron selection. More...
 
class  GhostTrackCPTools
 
class  GhostTrackSystematicsMaker
 
class  GlobalLeptonTriggerCalculator
 
class  GlobalTrigDecisionSelector
 
class  GlobalTrigMatchSelector
 
class  GoodCaloSelector
 Select data events with good Tile and LAr calorimeters. More...
 
class  GRLSelector
 Select events if they are on a GRL specified by the parameter GRLFilename in the configuration file. More...
 
class  HTSelector
 Apply a cut on the event HT. More...
 
class  InitialSelector
 A cut that accepts all events, more useful than you might think. More...
 
class  IsolationBase
 A common base for implementing isolation cuts. More...
 
class  IsolationCPTools
 
class  Jet
 A class that performs object cuts on Jets (of any size!). More...
 
class  JetCleaningSelector
 Event selection using the official jet cleaning tool. More...
 
class  JetFlavorPlots
 An example of how to quickly make some plots at a certain point in the cutflow. More...
 
class  JetFtagEffPlots
 An example of how to quickly make some plots at a certain point in the cutflow. More...
 
class  JetGhostTrackSelection
 
class  JetGhostTrackSelectionBase
 
class  JetMETCPTools
 
class  JetNGhostSelector
 
class  JetObjectCollectionMaker
 
class  JetResponsePlots
 An example of how to quickly make some plots at a certain point in the cutflow. More...
 
class  JetScaleFactorCalculator
 
class  JetSelectionBase
 
class  KLFitterRun
 
class  KLFitterSelector
 
class  KLFitterTool
 
class  LargeJetTrimmer
 JetCorrection-derived class that trims large-R jets while derivations are not ready. More...
 
class  METMWTSelector
 Allows a cut on the sum of MET and MWT. More...
 
class  METSelector
 Apply a cut on the event MET. More...
 
class  MissingETObjectCollectionMaker
 
class  MLLSelector
 Put a cut on the invariant mass of two same flavour leptons. More...
 
class  MLLWindow
 Reject events in the invariant mass (of two charged leptons) window. More...
 
class  Muon
 Select muons based on some early suggestions. More...
 
class  MuonCPTools
 
class  MuonObjectCollectionMaker
 
class  MuonScaleFactorCalculator
 
class  MuonSelectionBase
 
class  MWTSelector
 Apply a cut on the transverse W mass (taken from the electron or muon and MET). More...
 
class  NElectronNMuonSelector
 To accept an event based on a check of electrons and muons. More...
 
class  NElectronNMuonTightSelector
 To accept an event based on a check of tight electrons and muons. More...
 
class  NElectronSelector
 A tool that selects events with a certain number of good electrons. More...
 
class  NElectronTightSelector
 A tool that selects events with a certain number of good tight electrons. More...
 
class  NeutrinoWeighting
 Not complete. More...
 
class  NFwdElectronSelector
 A tool that selects events with a certain number of good forward electrons. More...
 
class  NFwdElectronTightSelector
 A tool that selects events with a certain number of good tight electrons. More...
 
class  NJetBtagSelector
 A tool that selects events with a certain number of good jets. More...
 
class  NJetSelector
 A tool that selects events with a certain number of good jets. More...
 
class  NLargeJetSelector
 
class  NMuonSelector
 A tool that selects events with a certain number of good muons. More...
 
class  NMuonTightSelector
 A tool that selects events with a certain number of good tight muons. More...
 
class  NoBadMuonSelector
 A tool that selects events containing no bad muons https://twiki.cern.ch/twiki/bin/view/Atlas/MuonSelectionTool#is_BadMuon_Flag_Event_Veto. More...
 
class  NPhotonSelector
 A tool that selects events with a certain number of good photons. More...
 
class  NRCJetSelector
 
class  NSoftMuonSelector
 A tool that selects events with a certain number of good muons. More...
 
class  NTauSelector
 A tool that selects events with a certain number of good taus. More...
 
class  NTauTightSelector
 A tool that selects events with a certain number of good taus. More...
 
class  NVarRCJetSelector
 
class  NWSolution
 Holds the two solutions from the quadratic equation as TLorentVectors. More...
 
class  ObjectCollectionMaker
 
class  ObjectLoaderBase
 People seem to want to be able to configure the objects used in their anaysis for some reason. More...
 
class  ObjectLoaderStandardCuts
 This loads our "standard" object selection used in the top group. More...
 
class  ObjectSelectorBase
 
class  OSLeptonSelector
 Keep only events that have at least one opposite sign lepton pair. More...
 
class  OSLeptonTightSelector
 Keep only events that have at least one opposite sign tight lepton pair. More...
 
class  OtherCPTools
 
class  OverlapRemovalASG
 The Harmonization Group recommended object overlap removal. More...
 
class  OverlapRemovalBase
 
class  OverlapRemovalCPTools
 
class  OverlapRemovalIndices
 The "standard" overlap removal for the top group. More...
 
class  ParticleLevelElectronObjectSelector
 
class  ParticleLevelEvent
 
class  ParticleLevelJetObjectSelector
 
class  ParticleLevelLoader
 Loading tool which creates a particle level event object. More...
 
class  ParticleLevelMuonObjectSelector
 
class  ParticleLevelPhotonObjectSelector
 
class  ParticleLevelSelector
 An event selector that accepts all particle level events and rejects all reco level events. More...
 
class  ParticleLevelTauObjectSelector
 
class  PDFScaleFactorCalculator
 For testing PDF reweighting with LHAPDF6. More...
 
class  Photon
 Photon selection for top analyses. More...
 
class  PhotonScaleFactorCalculator
 
class  PhotonSelectionBase
 Base class for implementing an Photon selection. More...
 
class  PileupScaleFactorCalculator
 
class  PlotManager
 A map that lets you create a bunch of histograms and get hold of them via a string name. More...
 
class  PrimaryVertexSelector
 Select data events with good Primary vertices following: https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/InDetTrackingPerformanceGuidelines#Vertexing. More...
 
class  PrintEventSelector
 Print some information about the event to the screen. More...
 
class  PropertyValueJsonDumper
 Convert values of Property instances to JSON. More...
 
class  PseudoTopReco
 
class  PseudoTopRecoRun
 
class  PTMaxReco
 Not complete. More...
 
class  RecoLevelSelector
 An event selector that accepts all reco level events and rejects all particle level events. More...
 
class  RelativePTVarCone
 Yay DC14 now has isolation! This should allow you to cut on the isolation (ptvarcone) as a fraction of the pt of the lepton. More...
 
class  RunNumberSelector
 Apply a cut on the (random) run number. More...
 
class  SaveEventSelector
 Save this event in the output file. More...
 
class  ScaleFactorCalculator
 
class  ScaleFactorRetriever
 
struct  SelectionConfigurationData
 Some configuration data to setup the selections. More...
 
class  SignValueSelector
 Many of the tools need a sign (>=) and a value (2). More...
 
class  SoftMuon
 Select muons based on some early suggestions. More...
 
class  SoftMuonObjectCollectionMaker
 
class  SoftMuonSelectionBase
 
class  Sonnenschein
 An AnalysisTop friendly wrapper for the Sonnenschein reconstruction that is implemented in SonnenscheinEngine. More...
 
class  SonnenscheinEngine
 Rewrite the top and anti-top decays as a quartic polynomial using top and W mass constraints. More...
 
class  SSLeptonSelector
 Keep only events that have at least one same sign lepton pair. More...
 
class  SSLeptonTightSelector
 Keep only events that have at least one same sign tight lepton pair. More...
 
class  StandardIsolation
 Apply the cuts to etcone and ptcone like we used to in Run-I. More...
 
struct  StringData
 A little helper to hold the data, a little information that's useful to humans and a flag (true) if the settings has been set. More...
 
class  SubjetMaker
 Derived class that constructs subjets while derivations are not ready. More...
 
class  Tau
 To select taus based on BoostedDecisionTree definition. More...
 
class  TauCPTools
 
class  TauObjectCollectionMaker
 
class  TauScaleFactorCalculator
 
class  TauSelectionBase
 
class  ToolLoaderBase
 This allows user libraries (and TopEventSelectionTools and TopEventReconstructionTools) to supply event selection-like tools to the main top-xaod executable. More...
 
class  TopConfig
 
class  TopEventMaker
 TopEventMaker produce top::Event objects from xAOD::SystematicEvent objects. More...
 
class  TopEventReconstructionToolsLoader
 Load a ttbar event reconstruction code based on the same. More...
 
class  TopEventSelectionToolsLoader
 This is used to load tools in this package in a factory like way. More...
 
class  TopJetSubstructure
 JetCorrection-derived class that applies a jet substructure action on the object. More...
 
class  TopObjectSelection
 Configure the object selection used in the analysis. More...
 
class  TopPersistentSettings
 
class  TopToolStore
 
class  TopxAODAlg
 
class  TrackCPTools
 
class  TrackJet
 
class  TrackJetCleaningSelector
 
class  TrackSelection
 
class  TrackSelectionBase
 
class  TrackSystematicsMaker
 
class  TreeFilter
 
class  TreeManager
 A class that hopefully makes making a flat ntuple tree a bit easier since you don't need to worry about what type to make the branches and stuff. More...
 
class  TrigDecisionLooseSelector
 Sometimes you may want to select events that pass a certain trigger, or triggers. More...
 
class  TrigDecisionSelector
 Sometimes you may want to select events that pass a certain trigger, or triggers. More...
 
class  TrigDecisionTightSelector
 Sometimes you may want to select events that pass a certain trigger, or triggers. More...
 
class  TriggerCPTools
 
class  TrigMatchSelector
 Match offline object to trigger. More...
 
class  TruthSelectionBase
 
class  TruthSelectionTtres
 

Enumerations

enum  topSFSyst {
  nominal = 0, EL_SF_Trigger_UP, EL_SF_Trigger_DOWN, EL_SF_Reco_UP,
  EL_SF_Reco_DOWN, EL_SF_ID_UP, EL_SF_ID_DOWN, EL_SF_Isol_UP,
  EL_SF_Isol_DOWN, EL_SF_ChargeID_UP, EL_SF_ChargeID_DOWN, EL_SF_ChargeMisID_STAT_UP,
  EL_SF_ChargeMisID_STAT_DOWN, EL_SF_ChargeMisID_SYST_UP, EL_SF_ChargeMisID_SYST_DOWN, MU_SF_Trigger_UP,
  MU_SF_Trigger_DOWN, MU_SF_Trigger_STAT_UP, MU_SF_Trigger_STAT_DOWN, MU_SF_Trigger_SYST_UP,
  MU_SF_Trigger_SYST_DOWN, MU_SF_ID_STAT_UP, MU_SF_ID_STAT_DOWN, MU_SF_ID_SYST_UP,
  MU_SF_ID_SYST_DOWN, MU_SF_ID_STAT_LOWPT_UP, MU_SF_ID_STAT_LOWPT_DOWN, MU_SF_ID_SYST_LOWPT_UP,
  MU_SF_ID_SYST_LOWPT_DOWN, MU_SF_Isol_STAT_UP, MU_SF_Isol_STAT_DOWN, MU_SF_Isol_SYST_UP,
  MU_SF_Isol_SYST_DOWN, MU_SF_TTVA_STAT_UP, MU_SF_TTVA_STAT_DOWN, MU_SF_TTVA_SYST_UP,
  MU_SF_TTVA_SYST_DOWN, MU_SF_ID_BKG_FRACTION_UP, MU_SF_ID_BKG_FRACTION_DOWN, MU_SF_ID_FIT_MODEL_LOWPT_UP,
  MU_SF_ID_FIT_MODEL_LOWPT_DOWN, MU_SF_ID_LUMI_UNCERT_UP, MU_SF_ID_LUMI_UNCERT_DOWN, MU_SF_ID_MATCHING_UP,
  MU_SF_ID_MATCHING_DOWN, MU_SF_ID_MATCHING_LOWPT_UP, MU_SF_ID_MATCHING_LOWPT_DOWN, MU_SF_ID_MC_XSEC_UP,
  MU_SF_ID_MC_XSEC_DOWN, MU_SF_ID_PT_DEPENDENCY_UP, MU_SF_ID_PT_DEPENDENCY_DOWN, MU_SF_ID_QCD_TEMPLATE_UP,
  MU_SF_ID_QCD_TEMPLATE_DOWN, MU_SF_ID_SUPRESSION_SCALE_UP, MU_SF_ID_SUPRESSION_SCALE_DOWN, MU_SF_ID_TRUTH_UP,
  MU_SF_ID_TRUTH_DOWN, MU_SF_ID_TRUTH_LOWPT_UP, MU_SF_ID_TRUTH_LOWPT_DOWN, MU_SF_ID_BAD_MUON_VETO_UP,
  MU_SF_ID_BAD_MUON_VETO_DOWN, MU_SF_ID_CR1_UP, MU_SF_ID_CR1_DOWN, MU_SF_ID_CR2_UP,
  MU_SF_ID_CR2_DOWN, MU_SF_ID_CR3_UP, MU_SF_ID_CR3_DOWN, MU_SF_ID_HIGHETA_PROBEIP_UP,
  MU_SF_ID_HIGHETA_PROBEIP_DOWN, MU_SF_ID_HIGHETA_PROBEISO_UP, MU_SF_ID_HIGHETA_PROBEISO_DOWN, MU_SF_ID_TAGPT_UP,
  MU_SF_ID_TAGPT_DOWN, MU_SF_ID_EXTRAPOLATION_UP, MU_SF_ID_EXTRAPOLATION_DOWN, MU_SF_Isol_BKG_FRACTION_UP,
  MU_SF_Isol_BKG_FRACTION_DOWN, MU_SF_Isol_DRMUJ_UP, MU_SF_Isol_DRMUJ_DOWN, MU_SF_Isol_LUMI_UNCERT_UP,
  MU_SF_Isol_LUMI_UNCERT_DOWN, MU_SF_Isol_MC_XSEC_UP, MU_SF_Isol_MC_XSEC_DOWN, MU_SF_Isol_MLLWINDOW_UP,
  MU_SF_Isol_MLLWINDOW_DOWN, MU_SF_Isol_QCD_TEMPLATE_UP, MU_SF_Isol_QCD_TEMPLATE_DOWN, MU_SF_Isol_SHERPA_POWHEG_UP,
  MU_SF_Isol_SHERPA_POWHEG_DOWN, MU_SF_Isol_SUPRESSION_SCALE_UP, MU_SF_Isol_SUPRESSION_SCALE_DOWN, MU_SF_Isol_EXTRAPOLATION_UP,
  MU_SF_Isol_EXTRAPOLATION_DOWN, MU_SF_TTVA_BKG_FRACTION_UP, MU_SF_TTVA_BKG_FRACTION_DOWN, MU_SF_TTVA_LUMI_UNCERT_UP,
  MU_SF_TTVA_LUMI_UNCERT_DOWN, MU_SF_TTVA_MC_XSEC_UP, MU_SF_TTVA_MC_XSEC_DOWN, MU_SF_TTVA_QCD_TEMPLATE_UP,
  MU_SF_TTVA_QCD_TEMPLATE_DOWN, MU_SF_TTVA_SUPRESSION_SCALE_UP, MU_SF_TTVA_SUPRESSION_SCALE_DOWN, MU_SF_TTVA_EXTRAPOLATION_UP,
  MU_SF_TTVA_EXTRAPOLATION_DOWN, TAU_SF_NOMINAL, TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1up, TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1down,
  TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1up, TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1down, TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1up, TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1down,
  TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1up, TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1down, TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1up, TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1down,
  TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1up, TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1down, TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1up, TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1down,
  TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1up, TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1down, TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1up, TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1down,
  TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1up, TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1down, TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1up, TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1down,
  TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1up, TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1down, TAUS_TRUEHADTAU_EFF_RNNID_SYST__1up, TAUS_TRUEHADTAU_EFF_RNNID_SYST__1down,
  TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1up, TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1down, TAU_SF_END, PHOTON_IDSF_UP,
  PHOTON_IDSF_DOWN, PHOTON_EFF_ISO_UP, PHOTON_EFF_ISO_DOWN, PHOTON_EFF_TRIGGER_UNCERTAINTY_UP,
  PHOTON_EFF_TRIGGER_UNCERTAINTY_DOWN, BTAG_SF_EIGEN_B, BTAG_SF_EIGEN_C, BTAG_SF_EIGEN_LIGHT,
  BTAG_SF_NAMED_UP, BTAG_SF_NAMED_DOWN, JVT_UP, JVT_DOWN,
  FJVT_UP, FJVT_DOWN, FWDEL_SF_ID_UP, FWDEL_SF_ID_DOWN,
  lastsys
}
 – Top SF enmu, as CP::SystematicSet won't do the job –/// More...
 
enum  topSFComp {
  ALL = 0, TRIGGER, RECO, ID,
  ISOLATION, CHARGEID, CHARGEMISID, TTVA
}
 
enum  LepPartonOriginFlag {
  LepPartonOriginFlag::MissingTruthInfo =0, LepPartonOriginFlag::FromAntiTopViaHadronicBosonToHF =-3, LepPartonOriginFlag::FromAntiTopViaLeptonicBoson =-2, LepPartonOriginFlag::FromAntiTopViaQuarkToHF =-1,
  LepPartonOriginFlag::FromTopViaQuarkToHF =1, LepPartonOriginFlag::FromTopViaLeptonicBoson =2, LepPartonOriginFlag::FromTopViaHadronicBosonToHF =3, LepPartonOriginFlag::FromLeptonicBoson =4,
  LepPartonOriginFlag::FromHadronicBosonToHF =5, LepPartonOriginFlag::FromHFHadronOfUnkownOrigin =6, LepPartonOriginFlag::FromHiggsViaLeptonicBosonToHF =7, LepPartonOriginFlag::FromHiggsViaHadronicBosonToHF =8,
  LepPartonOriginFlag::FromHiggsToHF =9, LepPartonOriginFlag::FromHiggs =10, LepPartonOriginFlag::FromBSM =1000, LepPartonOriginFlag::FromBSMViaLeptonicBosonToHF =1001,
  LepPartonOriginFlag::FromBSMViaHadronicBosonToHF =1002, LepPartonOriginFlag::FromBSMToHF =1003, LepPartonOriginFlag::Unknown =9999
}
 this enum defines a flag used to understand the partonic origin of a lepton (tipically a soft muon), i.e. More...
 
enum  LepParticleOriginFlag {
  LepParticleOriginFlag::MissingTruthInfo =0, LepParticleOriginFlag::FromPhoton =22, LepParticleOriginFlag::FromPhotonToTau =2215, LepParticleOriginFlag::FromLeptonicZ =23,
  LepParticleOriginFlag::FromLeptonicZToTau =2315, LepParticleOriginFlag::FromLeptonicW =24, LepParticleOriginFlag::FromLeptonicWToTau =2415, LepParticleOriginFlag::FromHiggs =25,
  LepParticleOriginFlag::FromHiggsToTau =2515, LepParticleOriginFlag::FromB =5, LepParticleOriginFlag::FromBtoTau =515, LepParticleOriginFlag::FromBtoC =54,
  LepParticleOriginFlag::FromBtoCtoTau =5415, LepParticleOriginFlag::FromC =4, LepParticleOriginFlag::FromCtoTau =415, LepParticleOriginFlag::FromTau =15,
  LepParticleOriginFlag::FromLightHadron =100, LepParticleOriginFlag::FromBSM =1000, LepParticleOriginFlag::FromBSMToTau =1001, LepParticleOriginFlag::Unknown =9999
}
 this enum defines a flag used to understand the particle origin of a lepton (tipically a soft muon), i.e. More...
 
enum  LeptonType { kElectron, kMuon }
 

Functions

void xAODInit (bool failOnUnchecked=true)
 A little wrapper for the xAOD tools. More...
 
std::string getDerivationStream (TFile *inputFile)
 Function to determine the derivation type using string manipulation. More...
 
void parseCutBookkeepers (xAOD::TEvent &event, const std::size_t size, std::vector< std::string > &names, std::vector< float > &sumW)
 Search bookkeepers for ones matching AllExecutedEvents, and which originate from AOD before skimming. More...
 
ULong64_t getRawEventsBookkeeper (const xAOD::CutBookkeeperContainer *cutBookKeepers)
 Get raw number of events before skimming from "AllExecutedEvents" bookkeeper. More...
 
void renameCutBookkeepers (std::vector< std::string > &bookkepeer_names, const std::vector< std::string > &pmg_weight_names)
 Rename CutBookkeeper names according to MC generator weight names reported by PMGTruthWeightTool. More...
 
std::vector< std::string > loadCuts (const std::string &filename)
 Load the file and make a vector of the cuts to pass on to the selection tool. More...
 
size_t checkFiles (const std::vector< std::string > &filenames)
 Open each file in the vector and get the number of events in it. More...
 
std::vector< std::string > fileList (const std::string &filename)
 Given a filename for a text file, parse it and extract a list of root files. More...
 
void loadLibraries (const std::string &libraryNames)
 So that we can load external libraries with (1) extra event selection tools in, (2) user defined object selection and (3) user defined output file formats. More...
 
top::TopObjectSelectionloadObjectSelection (const std::shared_ptr< top::TopConfig > &config)
 Users may want to define (and load!) their own object selection. More...
 
top::EventSaverBaseloadEventSaver (const std::shared_ptr< top::TopConfig > &config)
 Users may also want to write out custom ntuples / xAODs. More...
 
bool readMetaData (TFile *inputFile, const std::shared_ptr< top::TopConfig > &config)
 This function will be used to load the metadata object and pull information from it. More...
 
void readMetaData (const xAOD::FileMetaData *FMD, const std::shared_ptr< top::TopConfig > &config)
 Retrieve metadata from xAOD::FileMetaData object, to be stored in the TopConfig instance. More...
 
std::ostream & operator<< (std::ostream &os, const SelectionConfigurationData &data)
 
std::ostream & operator<< (std::ostream &os, const ConfigurationSettings &settings)
 
std::string json_dump (std::string const &value)
 Escape string for use in JSON format. More...
 
std::ostream & operator<< (std::ostream &os, const TopConfig &config)
 
template<typename T >
void remove_duplicates (std::vector< T > &input)
 
template<typename T , typename std::enable_if< std::is_same< typename std::remove_cv< T >::type, bool >::value >::type * = nullptr>
std::string json_dump (T value)
 Convert boolean to JSON format. More...
 
template<typename Container >
void tokenize (const std::string &input, Container &output, const std::string &delimiters=" ", bool trim_empty=false)
 Tokenize an input string using a set of delimiters. More...
 
template<typename Container >
void tokenize_set (const std::string &input, Container &output, const std::string &delimiters=" ", bool trim_empty=false)
 Same as tokenize() method, but accepts std::set-like containers, with emplace method. More...
 
std::string bTagNamedSystCheck (std::shared_ptr< top::TopConfig > config, const std::string &systCollection, const std::string &tagWP, const bool isTrackJet, const bool verbose=false)
 
std::string betterBtagNamedSyst (const std::string &name)
 
void check (bool thingToCheck, const std::string &usefulFailureMessage)
 Print an error message and terminate if thingToCheck is false. More...
 
double deltaR (const xAOD::IParticle &p1, const xAOD::IParticle &p2)
 Calculate the delta-r distance between two particles (e.g. More...
 
double deltaPhi (const xAOD::IParticle &p1, const xAOD::IParticle &p2)
 Calculate delta-phi between two particles (e.g. More...
 
double mwt (const xAOD::IParticle &lepton, const xAOD::MissingET &met)
 Calculate the transverse mass of the W from the charged lepton and the missing ET. More...
 
double ht (const top::Event &event)
 HT calculation. More...
 
double invariantMass (const xAOD::IParticle &p1, const xAOD::IParticle &p2)
 Calculate the invariant mass of two particles. More...
 
bool isSimulation (const top::Event &event)
 Is this event MC simulation (True) or data (False)? More...
 
bool descendingPtSorter (const xAOD::IParticle *p0, const xAOD::IParticle *p1)
 Used when sorting the e, mu, jet, tau containers after CP corrections. More...
 
std::vector< int > calculateBootstrapWeights (int nreplicas, int eventNumber, int mcChannelNumber)
 Function used to create poisson weights (mean of 1) for bootstrapping. More...
 
std::ostream & operator<< (std::ostream &os, const top::ElectronSelectionBase &selection)
 
std::ostream & operator<< (std::ostream &os, const top::FwdElectronSelectionBase &selection)
 
std::ostream & operator<< (std::ostream &os, const top::JetGhostTrackSelectionBase &selection)
 
std::ostream & operator<< (std::ostream &os, const top::JetSelectionBase &selection)
 
std::ostream & operator<< (std::ostream &os, const top::MuonSelectionBase &selection)
 
std::ostream & operator<< (std::ostream &os, const top::OverlapRemovalBase &overlapremoval)
 
std::ostream & operator<< (std::ostream &os, const top::PhotonSelectionBase &selection)
 
std::ostream & operator<< (std::ostream &os, const top::SoftMuonSelectionBase &selection)
 
std::ostream & operator<< (std::ostream &os, const top::TrackSelectionBase &selection)
 

Variables

const std::map< topSFSyst, TString > tauSF_name
 
const std::map< topSFSyst, TString > tauSF_alias
 

Detailed Description

TopConfig A simple configuration that is NOT a singleton.

TauObjectCollectionMaker Makes all systematic variations of taus.

SoftMuonObjectCollectionMaker Makes all systematic variations of soft muons. Momentum Corrections are applied using the calibration tool. Efficiency Corrections are applied using the efficiency tool.

ObjectCollectionMaker Makes all systematic variations of all objects.

MuonObjectCollectionMaker Makes all systematic variations of muons. Momentum Corrections are applied using the calibration tool. Efficiency Corrections are applied using the efficiency tool.

JetObjectCollectionMaker Makes all systematic variations of jets.

ElectronInJetSubtractionCollectionMaker Makes all needed collections for the Electron in jet subtraction Used by boosted analysis.

EgammaObjectCollectionMaker Makes all systematic variations of photons and electrons.

CalcWtbPartonHistory Class derived from CalcTopPartonHistory, used to store Wt SingleTop variables.

CalcWlvPartonHistory Class derived from CalcTopPartonHistory, used to store ttbar variables.

CalcTTZPartonHistory Class derived from CalcTopPartonHistory, used to store ttZ variables.

CalcTtbarPartonHistory Class derived from CalcTopPartonHistory, used to store ttbar variables.

CalcTtbarLightPartonHistory Class derived from CalcTopPartonHistory, used to store ttbar variables.

CalcTtbarGammaPartonHistory Class derived from CalcTopPartonHistory, used to store ttbargamma variables.

CalcTopPartonHistory Determine the history of the top partons.

CalcTbbarPartonHistory Class derived from CalcTopPartonHistory, used to store tbbar variables.

An example class implementing a truth selection for tt resonances.

Base class for implementing a truth selection.

OverlapRemovalIndices Do overlap removal based on selected indices.

A namespace for the top group, to avoid using the same name as somewhere else in the code.

TopToolStore Configure all asg::AsgTools and place into asg::ToolStore This will allow other tools and algorithms to retrieve the tools This means that we can share tools and only configure them once.

ScaleFactorCalculator Scale factors for all objects.

PhotonScaleFactorCalculator Calculate all photon scale factors and decorate.

MuonScaleFactorCalculator Calculate all muon scale factors and decorate.

JetScaleFactorCalculator Calculate all jet scale factors and decorate.

FwdElectronScaleFactorCalculator Calculate all forward electron scale factors and decorate.

ElectronScaleFactorCalculator Calculate all electron scale factors and decorate.

BTagScaleFactorCalculator Calculate all jet scale factors and decorate.

TopPersistentSettings We presist this information into the mini-xAOD It allows us to reconstruct the state of the top-xaod code.

Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
809568
Date
2017-08-18 14:09:22 +0100 (Fri, 18 Aug 2017)
Author
Andrea Knue aknue.nosp@m.@cer.nosp@m.n.ch, John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h

$Revision:

Date
2017-06-28 15:52:29 +0100 (Wed, 28 Jun 2017)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
799556
Date
2017-03-05 19:46:03 +0000 (Sun, 05 Mar 2017)
Author
Marco Vanadia marco.nosp@m..van.nosp@m.adia@.nosp@m.cern.nosp@m..ch
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
724681
Date
2016-02-17 18:20:27 +0000 (Wed, 17 Feb 2016)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
786766
Date
2016-11-28 03:21:13 +0000 (Mon, 28 Nov 2016)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
802226
Date
2017-04-04 17:13:10 +0100 (Tue, 04 Apr 2017)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
766520
Date
2016-08-04 17:39:21 +0100 (Thu, 04 Aug 2016)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
808118
Date
2017-07-11 18:41:22 +0100 (Tue, 11 Jul 2017)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
661110
Date
2015-04-17 01:03:39 +0100 (Fri, 17 Apr 2015)

If you want to build a new truth selection, you should inherit from this.

Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Silvestre Marino Romano sroma.nosp@m.nos@.nosp@m.cern..nosp@m.ch
Samuel Calvet scalv.nosp@m.et@c.nosp@m.ern.c.nosp@m.h
Revision
777122
Date
2016-10-07 14:57:57 +0100 (Fri, 07 Oct 2016)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Silvestre Marino Romano sroma.nosp@m.nos@.nosp@m.cern..nosp@m.ch
Samuel Calvet scalv.nosp@m.et@c.nosp@m.ern.c.nosp@m.h
Revision
800464
Date
2017-03-13 18:06:24 +0000 (Mon, 13 Mar 2017)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Silvestre Marino Romano sroma.nosp@m.nos@.nosp@m.cern..nosp@m.ch
Samuel Calvet scalv.nosp@m.et@c.nosp@m.ern.c.nosp@m.h
Revision
658996
Date
2015-04-04 16:57:15 +0100 (Sat, 04 Apr 2015)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Silvestre Marino Romano sroma.nosp@m.nos@.nosp@m.cern..nosp@m.ch
Samuel Calvet scalv.nosp@m.et@c.nosp@m.ern.c.nosp@m.h
Sonja Zeissner sonja.nosp@m..zei.nosp@m.ssner.nosp@m.@cer.nosp@m.n.ch
Knut Zoch kzoch.nosp@m.@cer.nosp@m.n.ch Class definition follows that of class CalcTtbarHistory.
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Silvestre Marino Romano sroma.nosp@m.nos@.nosp@m.cern..nosp@m.ch
Samuel Calvet scalv.nosp@m.et@c.nosp@m.ern.c.nosp@m.h
Revision
782353
Date
2016-11-04 12:11:17 +0000 (Fri, 04 Nov 2016)
Author
Tomas Dado tomas.nosp@m..dad.nosp@m.o@cer.nosp@m.n.ch
Revision
658996
Date
2015-04-04 16:57:15 +0100 (Sat, 04 Apr 2015)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
811374
Date
2017-10-24 14:04:52 +0100 (Tue, 24 Oct 2017)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h

Will require a set of electron and jet collections for: Nominal All Electron systematics All Jet systematics

This class does not do the actual subtraction algorithm This class prepares the collections and calls the algorithm

Revision
653798
Date
2015-03-12 19:24:22 +0000 (Thu, 12 Mar 2015)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h

This is actually quite a complex tool The steps are as follows (1) Calibrate data/MC jets and save this collection to TStore (2) Loop over the various NP JES scenarios, using the output of (1) as an input (3) Loop over the various NP JER scenarios, using the output of (1) as an input (2.a , 3.a) Re-calculate the JVT for each jet

Revision
809674
Date
2017-08-23 15:10:24 +0100 (Wed, 23 Aug 2017)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
799839
Date
2017-03-08 11:07:28 +0000 (Wed, 08 Mar 2017)
Author
John Morris john..nosp@m.morr.nosp@m.is@ce.nosp@m.rn.c.nosp@m.h
Revision
790414
Date
2016-12-19 00:49:08 +0000 (Mon, 19 Dec 2016)

Enumeration Type Documentation

◆ LepParticleOriginFlag

this enum defines a flag used to understand the particle origin of a lepton (tipically a soft muon), i.e.

if it is from a boson decay, from a B-hadron, from a B->D->mu decay, etc...

Enumerator
MissingTruthInfo 

no associated truth muon tipically this happens for muon from light-hadrons

FromPhoton 
FromPhotonToTau 

gamma*->muonmuon

FromLeptonicZ 

gamma*->tautau and tau->muon

from Z->tau->lep (note: this will not work for Sherpa)

FromLeptonicZToTau 

from Z->tau->lep (note: this will not work for Sherpa)

FromLeptonicW 

from W with leptonic decay (note: this will not work for Sherpa)

FromLeptonicWToTau 

from W->tau->lep (note: this will not work for Sherpa)

FromHiggs 
FromHiggsToTau 

Higgs->muon.

FromB 

Higgs->tau->mu.

from direct B-hadron decay

FromBtoTau 

from B-hadron to tau to mu decay

FromBtoC 

from B-hadron to C-hadron to muon decay

FromBtoCtoTau 

from B-hadron to C-hadron to tau to muon decay

FromC 

from direct C-hadron (with no B-hadron parent) decay

FromCtoTau 

from C-hadron (with no B-hadron parent) to tau to mu decay

FromTau 

from Tau leptonic (not coming from W or HF-hadron, so not sure this can really happen)

FromLightHadron 

often these muons are Unknown, but in some cases we have the truth record and we can verify they are from light-hadrons

FromBSM 
FromBSMToTau 

BSMparticle->muon.

Unknown 

BSMparticle->tau->muon.

Definition at line 57 of file EventTools.h.

57  {
59  FromPhoton=22,
60  FromPhotonToTau=2215,
61  FromLeptonicZ=23,
62  FromLeptonicZToTau=2315,
63  FromLeptonicW=24,
64  FromLeptonicWToTau=2415,
65  FromHiggs=25,
66  FromHiggsToTau=2515,
67  FromB=5,
68  FromBtoTau=515,
69  FromBtoC=54,
70  FromBtoCtoTau=5415,
71  FromC=4,
72  FromCtoTau=415,
73  FromTau=15,
74  FromLightHadron=100,
75  FromBSM=1000,
76  FromBSMToTau=1001,
77  Unknown=9999,
78  };

◆ LepPartonOriginFlag

this enum defines a flag used to understand the partonic origin of a lepton (tipically a soft muon), i.e.

if it is produced by the direct decay of a boson, or, in the case it is from a HF hadron decay, what is the boson/parton that originated the HF hadron. This flag will not work for Sherpa samples given the structure of Sherpa's truth record. note that in case of light-hadrons->muons the muon will always be considered as from "unknown", because often we cannot reconstruct the history when light hadrons are involved...

Enumerator
MissingTruthInfo 

e.g. this can mean the muon is coming from light hadrons and there is no truth history, or anyway it was impossible to reconstruct the history

FromAntiTopViaHadronicBosonToHF 

tipically means that the muon is coming from tbar->W->...->muon in some way (or any tbar->W/Z/gamma*‍/H->...->muon), the "..." must involve HF hadrons

FromAntiTopViaLeptonicBoson 

tipically means that the muon is coming from tbar->W->...->muon in some way (or any tbar->W/Z/gamma*‍/H->...->muon), the "..." cannot involve hadrons

FromAntiTopViaQuarkToHF 

tipically means that the muon is coming from tbar->bbar->...->muon in some way (or any tbar->qbar->...->muon), the "..." will for sure involve HF hadrons

FromTopViaQuarkToHF 

tipically means that the muon is coming from t->b->...->muon in some way (or any t->q->...->muon), the "..." will for sure involve HF hadrons

FromTopViaLeptonicBoson 

tipically means that the muon is coming from t->W->...->muon in some way (or any t->W/Z/gamma*‍/H->...->muon), the "..." cannot involve hadrons

FromTopViaHadronicBosonToHF 

tipically means that the muon is coming from t->W->...->muon in some way (or any t->W/Z/gamma*‍/H->...->muon), the "..." must involve HF hadrons

FromLeptonicBoson 

general case of W/Z/gamma*‍/H->muon or W/Z/gamma*‍/H->tau->muon

FromHadronicBosonToHF 

general case of W/Z/gamma*‍/H->HF hadrons->muon

FromHFHadronOfUnkownOrigin 

HF hadron->muon or HF hadron->tau->muon, we're not sure where the HF hadron is coming from (maybe a gluon?)

FromHiggsViaLeptonicBosonToHF 
FromHiggsViaHadronicBosonToHF 

H->VV->muon.

FromHiggsToHF 

H->VV->HF->muon.

FromHiggs 

H->HF->muon, not sure if this can happen in some generators.

FromBSM 

direct H->muon

FromBSMViaLeptonicBosonToHF 

BSMparticle->muon.

FromBSMViaHadronicBosonToHF 

BSMparticle->V->muon.

FromBSMToHF 

BSMparticle->V->HF->muon.

Unknown 

BSMparticle->HF->muon.

Definition at line 33 of file EventTools.h.

◆ LeptonType

Enumerator
kElectron 
kMuon 

Definition at line 36 of file PseudoTopReco.h.

36  {
38  };

◆ topSFComp

Enumerator
ALL 
TRIGGER 
RECO 
ID 
ISOLATION 
CHARGEID 
CHARGEMISID 
TTVA 

Definition at line 212 of file ScaleFactorRetriever.h.

212  {
214  };

◆ topSFSyst

– Top SF enmu, as CP::SystematicSet won't do the job –///

Enumerator
nominal 
EL_SF_Trigger_UP 
EL_SF_Trigger_DOWN 
EL_SF_Reco_UP 
EL_SF_Reco_DOWN 
EL_SF_ID_UP 
EL_SF_ID_DOWN 
EL_SF_Isol_UP 
EL_SF_Isol_DOWN 
EL_SF_ChargeID_UP 
EL_SF_ChargeID_DOWN 
EL_SF_ChargeMisID_STAT_UP 
EL_SF_ChargeMisID_STAT_DOWN 
EL_SF_ChargeMisID_SYST_UP 
EL_SF_ChargeMisID_SYST_DOWN 
MU_SF_Trigger_UP 
MU_SF_Trigger_DOWN 
MU_SF_Trigger_STAT_UP 
MU_SF_Trigger_STAT_DOWN 
MU_SF_Trigger_SYST_UP 
MU_SF_Trigger_SYST_DOWN 
MU_SF_ID_STAT_UP 
MU_SF_ID_STAT_DOWN 
MU_SF_ID_SYST_UP 
MU_SF_ID_SYST_DOWN 
MU_SF_ID_STAT_LOWPT_UP 
MU_SF_ID_STAT_LOWPT_DOWN 
MU_SF_ID_SYST_LOWPT_UP 
MU_SF_ID_SYST_LOWPT_DOWN 
MU_SF_Isol_STAT_UP 
MU_SF_Isol_STAT_DOWN 
MU_SF_Isol_SYST_UP 
MU_SF_Isol_SYST_DOWN 
MU_SF_TTVA_STAT_UP 
MU_SF_TTVA_STAT_DOWN 
MU_SF_TTVA_SYST_UP 
MU_SF_TTVA_SYST_DOWN 
MU_SF_ID_BKG_FRACTION_UP 
MU_SF_ID_BKG_FRACTION_DOWN 
MU_SF_ID_FIT_MODEL_LOWPT_UP 
MU_SF_ID_FIT_MODEL_LOWPT_DOWN 
MU_SF_ID_LUMI_UNCERT_UP 
MU_SF_ID_LUMI_UNCERT_DOWN 
MU_SF_ID_MATCHING_UP 
MU_SF_ID_MATCHING_DOWN 
MU_SF_ID_MATCHING_LOWPT_UP 
MU_SF_ID_MATCHING_LOWPT_DOWN 
MU_SF_ID_MC_XSEC_UP 
MU_SF_ID_MC_XSEC_DOWN 
MU_SF_ID_PT_DEPENDENCY_UP 
MU_SF_ID_PT_DEPENDENCY_DOWN 
MU_SF_ID_QCD_TEMPLATE_UP 
MU_SF_ID_QCD_TEMPLATE_DOWN 
MU_SF_ID_SUPRESSION_SCALE_UP 
MU_SF_ID_SUPRESSION_SCALE_DOWN 
MU_SF_ID_TRUTH_UP 
MU_SF_ID_TRUTH_DOWN 
MU_SF_ID_TRUTH_LOWPT_UP 
MU_SF_ID_TRUTH_LOWPT_DOWN 
MU_SF_ID_BAD_MUON_VETO_UP 
MU_SF_ID_BAD_MUON_VETO_DOWN 
MU_SF_ID_CR1_UP 
MU_SF_ID_CR1_DOWN 
MU_SF_ID_CR2_UP 
MU_SF_ID_CR2_DOWN 
MU_SF_ID_CR3_UP 
MU_SF_ID_CR3_DOWN 
MU_SF_ID_HIGHETA_PROBEIP_UP 
MU_SF_ID_HIGHETA_PROBEIP_DOWN 
MU_SF_ID_HIGHETA_PROBEISO_UP 
MU_SF_ID_HIGHETA_PROBEISO_DOWN 
MU_SF_ID_TAGPT_UP 
MU_SF_ID_TAGPT_DOWN 
MU_SF_ID_EXTRAPOLATION_UP 
MU_SF_ID_EXTRAPOLATION_DOWN 
MU_SF_Isol_BKG_FRACTION_UP 
MU_SF_Isol_BKG_FRACTION_DOWN 
MU_SF_Isol_DRMUJ_UP 
MU_SF_Isol_DRMUJ_DOWN 
MU_SF_Isol_LUMI_UNCERT_UP 
MU_SF_Isol_LUMI_UNCERT_DOWN 
MU_SF_Isol_MC_XSEC_UP 
MU_SF_Isol_MC_XSEC_DOWN 
MU_SF_Isol_MLLWINDOW_UP 
MU_SF_Isol_MLLWINDOW_DOWN 
MU_SF_Isol_QCD_TEMPLATE_UP 
MU_SF_Isol_QCD_TEMPLATE_DOWN 
MU_SF_Isol_SHERPA_POWHEG_UP 
MU_SF_Isol_SHERPA_POWHEG_DOWN 
MU_SF_Isol_SUPRESSION_SCALE_UP 
MU_SF_Isol_SUPRESSION_SCALE_DOWN 
MU_SF_Isol_EXTRAPOLATION_UP 
MU_SF_Isol_EXTRAPOLATION_DOWN 
MU_SF_TTVA_BKG_FRACTION_UP 
MU_SF_TTVA_BKG_FRACTION_DOWN 
MU_SF_TTVA_LUMI_UNCERT_UP 
MU_SF_TTVA_LUMI_UNCERT_DOWN 
MU_SF_TTVA_MC_XSEC_UP 
MU_SF_TTVA_MC_XSEC_DOWN 
MU_SF_TTVA_QCD_TEMPLATE_UP 
MU_SF_TTVA_QCD_TEMPLATE_DOWN 
MU_SF_TTVA_SUPRESSION_SCALE_UP 
MU_SF_TTVA_SUPRESSION_SCALE_DOWN 
MU_SF_TTVA_EXTRAPOLATION_UP 
MU_SF_TTVA_EXTRAPOLATION_DOWN 
TAU_SF_NOMINAL 
TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1up 
TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1down 
TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1up 
TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1down 
TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1up 
TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1down 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1up 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1down 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1up 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1down 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1up 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1down 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1up 
TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1down 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1up 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1down 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1up 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1down 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1up 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1down 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1up 
TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1down 
TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1up 
TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1down 
TAUS_TRUEHADTAU_EFF_RNNID_SYST__1up 
TAUS_TRUEHADTAU_EFF_RNNID_SYST__1down 
TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1up 
TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1down 
TAU_SF_END 
PHOTON_IDSF_UP 
PHOTON_IDSF_DOWN 
PHOTON_EFF_ISO_UP 
PHOTON_EFF_ISO_DOWN 
PHOTON_EFF_TRIGGER_UNCERTAINTY_UP 
PHOTON_EFF_TRIGGER_UNCERTAINTY_DOWN 
BTAG_SF_EIGEN_B 
BTAG_SF_EIGEN_C 
BTAG_SF_EIGEN_LIGHT 
BTAG_SF_NAMED_UP 
BTAG_SF_NAMED_DOWN 
JVT_UP 
JVT_DOWN 
FJVT_UP 
FJVT_DOWN 
FWDEL_SF_ID_UP 
FWDEL_SF_ID_DOWN 
lastsys 

Definition at line 28 of file ScaleFactorRetriever.h.

28  {
29  nominal = 0,
30  // Electron Trigger SFs
32  // Electron reconstruction SFs
34  // Electron ID SFs
36  // Electron isolation SFs
38  // Electron Charge flip SFs
42  // Muon Trigger SFs
46  // Muon ID SFs (regular)
49  // Muon ID SFs (low pT)
52  // Muon isolation SFs
55  // Muon TTVA SFs
58  // For more complex systematics
93 
95  // Tau EleOLR SFs
99  // Tau RNNID SFs
110  // Tau Reconstruction SFs
112  TAU_SF_END,
113  // Photon SFs
118  // B-tagging SFs
122  // JVT SFs
123  JVT_UP, JVT_DOWN,
124  // fJVT SFs
126  // FWD Electron ID SFs
128 
129  lastsys
130  };

Function Documentation

◆ betterBtagNamedSyst()

std::string top::betterBtagNamedSyst ( const std::string &  name)

Definition at line 45 of file TopCorrectionsTools.cxx.

45  {
46  // remove "FT_EFF_", spaces, and "-" in named systematics
47  std::string str = "FT_EFF_";
48  std::string out = name;
49  if (out.find(str) != std::string::npos) {
50  out.replace(out.find(str), str.length(), "");
51  }
52  str = " ";
53  while (out.find(str) != std::string::npos) {
54  out.replace(out.find(str), str.length(), "_");
55  }
56  str = "-";
57  while (out.find(str) != std::string::npos) {
58  out.replace(out.find(str), str.length(), "_");
59  }
60  return out;
61  }

◆ bTagNamedSystCheck()

std::string top::bTagNamedSystCheck ( std::shared_ptr< top::TopConfig config,
const std::string &  systCollection,
const std::string &  tagWP,
const bool  isTrackJet,
const bool  verbose = false 
)

Definition at line 13 of file TopCorrectionsTools.cxx.

17  {
18  // TODO -- to be reworked to use new message level settings to be implemented
19  if (verbose) ATH_MSG_INFO("Searching for " << systCollection << " for WP " << tagWP);
20  if (isTrackJet) {
21  for (const std::string& name : config->trkjet_btagging_namedSysts(tagWP)) {
22  if (verbose) ATH_MSG_INFO("...Possible matches : ");
23  if (systCollection.find(betterBtagNamedSyst(name)) != std::string::npos) {
24  if (verbose) ATH_MSG_INFO("......Matched!");
25  if (systCollection.find("up") != std::string::npos) return name + "__1up";
26  else if (systCollection.find("down") != std::string::npos) return name + "__1down";
27  else return name;
28  }
29  }
30  } else {
31  for (const std::string& name : config->btagging_namedSysts(tagWP)) {
32  if (verbose) ATH_MSG_INFO("...Possible matches : ");
33  if (systCollection.find(betterBtagNamedSyst(name)) != std::string::npos) {
34  if (verbose) ATH_MSG_INFO("......Matched!");
35  if (systCollection.find("up") != std::string::npos) return name + "__1up";
36  else if (systCollection.find("down") != std::string::npos) return name + "__1down";
37  else return name;
38  }
39  }
40  }
41  return "";
42  }

◆ calculateBootstrapWeights()

std::vector< int > top::calculateBootstrapWeights ( int  nreplicas,
int  eventNumber,
int  mcChannelNumber 
)

Function used to create poisson weights (mean of 1) for bootstrapping.

Parameters
nreplicasThe number of replicas to fill (corresponds to size of output vector)
eventNumberThe event number used to seed TRandom3
mcChannelNumberThe DSID of MC event used to seed TRandom3

Definition at line 60 of file EventTools.cxx.

60  {
61  TRandom3 rand;
62  unsigned long long seed = eventNumber + 100 * mcChannelNumber; // Set the seed to be unique for this event, but
63  // reproducible for systematics
64 
65  rand.SetSeed(seed);
66  std::vector<int> weight_poisson(nreplicas, 0); // Initialise vector of length nreplicas, to all have weight of 0
67  for (int i = 0; i < nreplicas; i++) {
68  weight_poisson.at(i) = rand.PoissonD(1); // Fill with a weight drawn from Poisson distribution with mean of 1
69  }
70  // Return the vector to be stored in top::Event
71  return weight_poisson;
72  }

◆ check()

void top::check ( bool  thingToCheck,
const std::string &  usefulFailureMessage 
)

Print an error message and terminate if thingToCheck is false.

Lots of the xAOD functions need checking to see if they work or not. I guess we take the approach that if it didn't work, we should not really try to recover but just print a message and quit as soon as we can. So, this will either return nothing or quit your program via exception.

Parameters
thingToCheckThe thing to check. If it's false then print the error message via std::runtime_error exception.

Definition at line 15 of file EventTools.cxx.

15  {
16  if (!thingToCheck) {
17  throw std::runtime_error("top::check: " + usefulFailureMessage);
18  }
19  }

◆ checkFiles()

size_t top::checkFiles ( const std::vector< std::string > &  filenames)

Open each file in the vector and get the number of events in it.

Useful to make sure all the files are readable before jumping into an event loop. Also returns the total yield for all files. If the file can't be opened or the CollectionTree is missing then it will print an error message and exit.

Parameters
filenamesA vector of filenames to check.
Returns
The total yield for all files.

Definition at line 206 of file Tools.cxx.

206  {
207  ATH_MSG_INFO("Input filenames:\n");
208  size_t i = 0;
209  size_t totalYield = 0;
210 
211  for (const auto& filename : filenames) {
212  std::unique_ptr<TFile> f(TFile::Open(filename.c_str()));
213  ATH_MSG_INFO(i + 1 << "/" << filenames.size() << " File: " << filename);
214 
215  if (!f.get()) {
216  throw std::runtime_error("Did not manage to open " + filename);
217  }
218 
219  const TTree* const t = dynamic_cast<TTree* > (f->Get("CollectionTree"));
220 
221  //some files made by the derivation framework have no events passing the
222  //cuts -> which means no collection tree.
223  //the old behaviour was to end execution on this problem
224  //not any more!
225  int entries = 0;
226  std::string note;
227  if (t) entries = t->GetEntries();
228  else note = " (No CollectionTree)";
229 
230  ATH_MSG_INFO("Entries: " << entries << note);
231  totalYield += entries;
232 
233  ++i;
234  }
235 
236  return totalYield;
237  }

◆ deltaPhi()

double top::deltaPhi ( const xAOD::IParticle p1,
const xAOD::IParticle p2 
)

Calculate delta-phi between two particles (e.g.

an Electron and a Muon)

Parameters
p1The first particle of the two.
p2The second particle of the two.
Returns
Signed delta-phi in radians.

Definition at line 25 of file EventTools.cxx.

25  {
26  return p1.p4().DeltaPhi(p2.p4());
27  }

◆ deltaR()

double top::deltaR ( const xAOD::IParticle p1,
const xAOD::IParticle p2 
)

Calculate the delta-r distance between two particles (e.g.

an Electron and a Muon).

You could do this directly with the xAOD interface, but like invariant mass, I think it's nicer like this.

Parameters
p1The first particle of the two.
p2The second particle of the two.
Returns
delta-R metric.

Definition at line 21 of file EventTools.cxx.

21  {
22  return p1.p4().DeltaR(p2.p4());
23  }

◆ descendingPtSorter()

bool top::descendingPtSorter ( const xAOD::IParticle p0,
const xAOD::IParticle p1 
)

Used when sorting the e, mu, jet, tau containers after CP corrections.

In case they have changed order. Containers have pointers in, so this should take pointers as arguments.

Parameters
p1The first particle of the two.
p2The second particle of the two.

Definition at line 56 of file EventTools.cxx.

56  {
57  return CxxUtils::fpcompare::greater(p1->pt(), p2->pt());
58  }

◆ fileList()

std::vector< std::string > top::fileList ( const std::string &  filename)

Given a filename for a text file, parse it and extract a list of root files.

This should open the text file and split it into a vector of strings. It should handle filenames that are separated by a newline or a comma.

Parameters
filenameThe text file that we want to parse.
Returns
A vector of filenames.

Definition at line 239 of file Tools.cxx.

239  {
240  std::ifstream ifs(filename.c_str());
241 
242  if (!ifs) {
243  throw std::runtime_error("File does not exist " + filename
244  + "\nThis should contain a list - comma separated list of input files.");
245  }
246 
247  //loop over the lines in the file
248  std::stringstream wholefile;
249 
250  //read the file, and replace new lines with commas
251  //if the line already has comma separated filenames (a la the grid)
252  //these will be included automagically.
253  std::string line;
254  while (!ifs.eof()) {
255  std::getline(ifs, line);
256  wholefile << line << ',';
257  }
258 
259  //somewhere to save the filenames
260  std::vector<std::string> fileList;
261 
262  //now zoom through the whole file string and split at the comma
263  std::string to;
264  while (std::getline(wholefile, to, ',')) {
265  if (to.size() > 0) fileList.push_back(to);
266  }
267 
268  if (fileList.size() == 0) {
269  throw std::runtime_error("Could not get a list of input files from " + filename);
270  }
271 
272  return fileList;
273  }

◆ getDerivationStream()

std::string top::getDerivationStream ( TFile *  inputFile)

Function to determine the derivation type using string manipulation.

Parameters
inputFileA pointer to the input file
Returns
string with the derivation stream name

Definition at line 62 of file Tools.cxx.

62  {
63  TTree* metaData = dynamic_cast<TTree*> (inputFile->Get("MetaData"));
64 
65  if (metaData) {
66  metaData->LoadTree(0);
67 
68  TObjArray* ar = metaData->GetListOfBranches();
69  for (int i = 0; i < ar->GetEntries(); ++i) {
70  TBranch* b = (TBranch*) ar->At(i);
71  std::string name = std::string(b->GetName());
72  // Find a variable name with Stream, then split off from DAOD
73  // If we only need TOPQX, we just find "_", add 1 and substring from there instead
74  if (name.find("Stream") != std::string::npos) {
75  auto cursor = name.find('_');
76  std::string stream = name.substr(cursor + 1);
77  return stream;
78  }
79  }
80  } else {
81  throw std::runtime_error("getDerivationStream: MetaData tree"
82  " missing from input file.");
83  }
84 
85  // If we don't already return, something unexpected has happened and we need to fix it!
86  throw std::runtime_error("Cannot determine the derivation stream. Please report.");
87  }

◆ getRawEventsBookkeeper()

ULong64_t top::getRawEventsBookkeeper ( const xAOD::CutBookkeeperContainer cutBookKeepers)

Get raw number of events before skimming from "AllExecutedEvents" bookkeeper.

Parameters
cutBookKeepersContainer with CutBookkeepers
Returns
number of raw events before skimming

Definition at line 125 of file Tools.cxx.

125  {
126  int maxCycle = -1;
127  ULong64_t rawEntries = 0;
128  // search for "AllExecutedEvents" bookkeeper -- this one should always exist
129  for (const xAOD::CutBookkeeper *cbk : *cutBookKeepers) {
130  if ((cbk->inputStream() != "StreamAOD"))
131  continue;
132  if (cbk->name() != "AllExecutedEvents")
133  continue;
134  if (cbk->cycle() > maxCycle) {
135  rawEntries = cbk->nAcceptedEvents();
136  maxCycle = cbk->cycle();
137  }
138  }
139 
140  return rawEntries;
141  }

◆ ht()

double top::ht ( const top::Event event)

HT calculation.

Uses the pT of the electrons, muons and jets. If they are present. It loops through those three containers and adds up the pT.

Returns
The HT value.

Definition at line 33 of file EventTools.cxx.

33  {
34  double sumHt = 0.;
35 
36  for (const auto el : event.m_electrons)
37  sumHt += el->pt();
38 
39  for (const auto mu : event.m_muons)
40  sumHt += mu->pt();
41 
42  for (const auto jet : event.m_jets)
43  sumHt += jet->pt();
44 
45  return sumHt;
46  }

◆ invariantMass()

double top::invariantMass ( const xAOD::IParticle p1,
const xAOD::IParticle p2 
)

Calculate the invariant mass of two particles.

This can be done using the xAOD objects directly, but I think this type of interface is prettier.

Parameters
p1The first particle of the two.
p2The second particle of the two.
Returns
The invariant mass of the pair.

Definition at line 48 of file EventTools.cxx.

48  {
49  return (p1.p4() + p2.p4()).M();
50  }

◆ isSimulation()

bool top::isSimulation ( const top::Event event)

Is this event MC simulation (True) or data (False)?

Returns
True if the event is MC simulation.

Definition at line 52 of file EventTools.cxx.

52  {
53  return event.m_info->eventType(xAOD::EventInfo::IS_SIMULATION);
54  }

◆ json_dump() [1/2]

std::string top::json_dump ( std::string const value)

Escape string for use in JSON format.

Definition at line 13 of file JsonUtils.cxx.

13  {
14  std::string out;
15  out.reserve(value.size() + value.size() / 8 + 8);
16  char const* hexalphabet = "0123456789abcdef";
17  out.push_back('"');
18  for (auto it = value.cbegin(); it != value.cend(); it++) {
19  char c = *it;
20  if (0x00 <= static_cast<signed char>(c) && c < 0x20) {
21  out.push_back('\\');
22  switch (c) {
23  case '\b': out.push_back('b');
24  break;
25 
26  case '\f': out.push_back('f');
27  break;
28 
29  case '\n': out.push_back('n');
30  break;
31 
32  case '\r': out.push_back('r');
33  break;
34 
35  case '\t': out.push_back('t');
36  break;
37 
38  default:
39  out.push_back('x');
40  out.push_back(hexalphabet[c >> 4]);
41  out.push_back(hexalphabet[c & 0xf]);
42  break;
43  }
44  } else {
45  if (c == '"' || c == '\\') out.push_back('\\');
46  out.push_back(c);
47  }
48  }
49  out.push_back('"');
50  return out;
51  }

◆ json_dump() [2/2]

template<typename T , typename std::enable_if< std::is_same< typename std::remove_cv< T >::type, bool >::value >::type * = nullptr>
std::string top::json_dump ( value)

Convert boolean to JSON format.

Convert number to JSON format.

Definition at line 27 of file JsonUtils.h.

27  {
28  return(value ? "true" : "false");
29  }

◆ loadCuts()

std::vector< std::string > top::loadCuts ( const std::string &  filename)

Load the file and make a vector of the cuts to pass on to the selection tool.

Parameters
filenameThe text file to load and read the cut information from. The idea is that the user will supply this at the command line.
Returns
a vector with one cut-tool and configuration per line.

Definition at line 177 of file Tools.cxx.

177  {
178  std::vector<std::string> v;
179 
180  std::fstream in(filename.c_str());
181 
182  if (!in.is_open()) {
183  throw std::runtime_error("Problem opening " + filename);
184  }
185 
186  std::string str;
187  while (std::getline(in, str)) {
188  std::string newstring(str);
189 
190  if (str.find('#') != std::string::npos) newstring = str.substr(0, str.find('#'));
191 
192  //leading and trailing white space removal
193  while (std::isspace(*newstring.begin()))
194  newstring.erase(newstring.begin());
195 
196  while (std::isspace(*newstring.rbegin()))
197  newstring.erase(newstring.length() - 1);
198 
199  //make sure it contains something
200  if (newstring.size() > 0) v.push_back(newstring);
201  }
202 
203  return v;
204  }

◆ loadEventSaver()

top::EventSaverBase * top::loadEventSaver ( const std::shared_ptr< top::TopConfig > &  config)

Users may also want to write out custom ntuples / xAODs.

This too can be loaded from the name of the class supplied in the configuration file.

Parameters
outputFormatName of the class to load for the output format. For example top::EventSaverxAOD, or top::EventSaverFlatNtuple. Note that user defined ones are also allowed. Due to popular demand.
Returns
If everything works, then a pointer to the event saver object. Otherwise the program should end and tell people why.

Definition at line 314 of file Tools.cxx.

314  {
315  ATH_MSG_INFO("Attempting to load OutputFormat: " << config->outputFormat());
316  TClass* c = ::TClass::GetClass(config->outputFormat().c_str());
317 
318  if (c == nullptr) {
319  throw std::runtime_error("Didn't manage to load " + config->outputFormat());
320  }
321 
322  top::EventSaverBase* bc = static_cast<top::EventSaverBase*> (c->New());
323 
324  if (bc == nullptr) {
325  throw std::runtime_error("Didn't manage to cast it to top::EventSaverBase ");
326  }
327 
328  return bc;
329  }

◆ loadLibraries()

void top::loadLibraries ( const std::string &  libraryNames)

So that we can load external libraries with (1) extra event selection tools in, (2) user defined object selection and (3) user defined output file formats.

For all those things the user supplies the class name of the class to load. But we also need the library that they're in so that root can load it.

Parameters
libraryNamesThe name of the library, for exmample libTopEventSelectionTools

Definition at line 275 of file Tools.cxx.

275  {
276  std::vector<std::string> tokens;
277 
278  std::stringstream ss(libraryNames);
279  std::string item;
280  char delim = ' ';
281  while (std::getline(ss, item, delim))
282  tokens.push_back(item);
283 
284  std::vector<std::unique_ptr<top::ToolLoaderBase> > toolLoaders;
285  for (const auto& toolLoaderName : tokens) {
286  ATH_MSG_INFO("Attempting to load library: " << toolLoaderName << ".so");
287  gSystem->Load((toolLoaderName + ".so").c_str());
288  }
289  }

◆ loadObjectSelection()

top::TopObjectSelection * top::loadObjectSelection ( const std::shared_ptr< top::TopConfig > &  config)

Users may want to define (and load!) their own object selection.

Once the library is loaded we also need to know the class that they want to use. Root then loads that class and attempts to convert it to a top::TopObjectSelection pointer. Only if that works can the program continue. If it doesn't work, the program should end (not much point running if you didn't manage to configure the objects to run on, is there?)

Parameters
configThe object selection setup needs access to the config object, which should know the name of the object selection to use
Returns
The object selection pointer.

Definition at line 291 of file Tools.cxx.

291  {
292  ATH_MSG_INFO("Attempting to load ObjectSelection: " << config->objectSelectionName());
293  TClass* c = ::TClass::GetClass(config->objectSelectionName().c_str());
294 
295  if (c == nullptr) {
296  throw std::runtime_error("Didn't manage to load " + config->objectSelectionName());
297  }
298 
299  top::ObjectLoaderBase* bc = static_cast<top::ObjectLoaderBase*> (c->New());
300 
301  if (bc == nullptr) {
302  throw std::runtime_error("Didn't manage to cast it to top::ObjectLoaderBase");
303  }
304 
305  top::TopObjectSelection* objectSelection = bc->init(config);
306 
307  if (objectSelection == nullptr) {
308  throw std::runtime_error("Didn't manage to make a top::ObjectSelection class");
309  }
310 
311  return objectSelection;
312  }

◆ mwt()

double top::mwt ( const xAOD::IParticle lepton,
const xAOD::MissingET met 
)

Calculate the transverse mass of the W from the charged lepton and the missing ET.

The maths looks something a bit like this:

sqrt(2. * lepton.pt() * met.met() * (1. - cos(lepton.phi() - met.phi())))

Returns
The calculated value, obviously.

Definition at line 29 of file EventTools.cxx.

29  {
30  return sqrt(2. * lepton.pt() * met.met() * (1. - cos(lepton.phi() - met.phi())));
31  }

◆ operator<<() [1/12]

std::ostream & top::operator<< ( std::ostream &  os,
const ConfigurationSettings settings 
)

Definition at line 1049 of file ConfigurationSettings.cxx.

1049  {
1050  for (std::map<std::string, top::StringData >::const_iterator its = settings.stringData().begin();
1051  its != settings.stringData().end(); ++its) {
1052  std::stringstream s;
1053  s << "\"" << its->first << "\"";
1054 
1055  std::stringstream s2;
1056  s2 << "\"" << its->second.m_data << "\"";
1057  std::string s_values;
1058  if (!its->second.m_allowed_values.empty()) {
1059  s_values = " Allowed values: " + boost::algorithm::join(its->second.m_allowed_values, ", ");
1060  }
1061  os << std::setw(40) << std::left << s.str() << " : " << std::setw(35) << s2.str() << " - " << std::right <<
1062  its->second.m_human_explanation << " Default: \"" << its->second.m_default_val << "\"." << s_values << "\n";
1063  }
1064 
1065  return os;
1066  }

◆ operator<<() [2/12]

std::ostream & top::operator<< ( std::ostream &  os,
const SelectionConfigurationData data 
)

Definition at line 1041 of file ConfigurationSettings.cxx.

1041  {
1042  os << " - " << data.m_name << "\n";
1043  for (const auto& cutname : data.m_cutnames)
1044  os << " " << cutname << "\n";
1045 
1046  return os;
1047  }

◆ operator<<() [3/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::ElectronSelectionBase selection 
)

Definition at line 16 of file ElectronSelectionBase.cxx.

16  {
17  selection.print(os);
18  return os;
19  }

◆ operator<<() [4/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::FwdElectronSelectionBase selection 
)

Definition at line 16 of file FwdElectronSelectionBase.cxx.

16  {
17  selection.print(os);
18  return os;
19  }

◆ operator<<() [5/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::JetGhostTrackSelectionBase selection 
)

Definition at line 14 of file JetGhostTrackSelectionBase.cxx.

14  {
15  selection.print(os);
16  return os;
17  }

◆ operator<<() [6/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::JetSelectionBase selection 
)

Definition at line 14 of file JetSelectionBase.cxx.

14  {
15  selection.print(os);
16  return os;
17  }

◆ operator<<() [7/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::MuonSelectionBase selection 
)

Definition at line 14 of file MuonSelectionBase.cxx.

14  {
15  selection.print(os);
16  return os;
17  }

◆ operator<<() [8/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::OverlapRemovalBase overlapremoval 
)

Definition at line 14 of file OverlapRemovalBase.cxx.

14  {
15  overlapremoval.print(os);
16  return os;
17  }

◆ operator<<() [9/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::PhotonSelectionBase selection 
)

Definition at line 16 of file PhotonSelectionBase.cxx.

16  {
17  selection.print(os);
18  return os;
19  }

◆ operator<<() [10/12]

std::ostream & top::operator<< ( std::ostream &  os,
const top::SoftMuonSelectionBase selection 
)

Definition at line 14 of file SoftMuonSelectionBase.cxx.

14  {
15  selection.print(os);
16  return os;
17  }

◆ operator<<() [11/12]

std::ostream& top::operator<< ( std::ostream &  os,
const top::TrackSelectionBase selection 
)

Definition at line 14 of file TrackSelectionBase.cxx.

14  {
15  selection.print(os);
16  return os;
17  }

◆ operator<<() [12/12]

std::ostream & top::operator<< ( std::ostream &  os,
const TopConfig config 
)

Definition at line 3942 of file TopConfig.cxx.

3942  {
3943  typedef std::shared_ptr<std::unordered_map<std::size_t, CP::SystematicSet> > map_t;
3944  typedef std::unordered_map<std::size_t, CP::SystematicSet>::const_iterator Itr;
3945 
3946  if (config.useJetGhostTrack()) {
3947  for (const auto& item : config.systematicsJetGhostTrack()) {
3948  os << " Jet Ghost Track Systematic\t\t :: " << item << " \n";
3949  }
3950  }
3951 
3952  os << "\n";
3953  os << "top::TopConfig has identified the following analysis release series : " << config.getReleaseSeries() << "\n";
3954  os << "top::TopConfig will evaluate the following systematics (saved as TTrees in your ntuple) \n";
3955  os << "A blank systematic means \"Nominal\" in xAOD. All Nominal calibrations go into the Nominal TTree. \n";
3956  os << "\n";
3957  if (config.usePhotons()) {
3958  map_t syst = config.systMapPhotons();
3959  for (Itr i = syst->begin(); i != syst->end(); ++i) {
3960  os << " Photon systematic\t :: " << (*i).second.name() << " \n";
3961  }
3962  }
3963 
3964  if (config.useElectrons()) {
3965  map_t syst = config.systMapElectrons();
3966  for (Itr i = syst->begin(); i != syst->end(); ++i) {
3967  os << " Electron systematic\t :: " << (*i).second.name() << " \n";
3968  }
3969  }
3970 
3971  if (config.useFwdElectrons()) {
3972  map_t syst = config.systMapFwdElectrons();
3973  for (Itr i = syst->begin(); i != syst->end(); ++i) {
3974  os << " Fwd Electron systematic\t :: " << (*i).second.name() << " \n";
3975  }
3976  }
3977 
3978  if (config.useMuons()) {
3979  map_t syst = config.systMapMuons();
3980  for (Itr i = syst->begin(); i != syst->end(); ++i) {
3981  os << " Muon systematic\t :: " << (*i).second.name() << " \n";
3982  }
3983  }
3984 
3985  if (config.useSoftMuons()) {
3986  map_t syst = config.systMapSoftMuons();
3987  for (Itr i = syst->begin(); i != syst->end(); ++i) {
3988  os << " Soft Muon systematic\t :: " << (*i).second.name() << " \n";
3989  }
3990  }
3991 
3992  if (config.useTaus()) {
3993  map_t syst = config.systMapTaus();
3994  for (Itr i = syst->begin(); i != syst->end(); ++i) {
3995  os << " Tau systematic\t :: " << (*i).second.name() << " \n";
3996  }
3997  }
3998 
3999  if (config.useJets()) {
4000  map_t syst = config.systMapJets();
4001  for (Itr i = syst->begin(); i != syst->end(); ++i) {
4002  os << " Jet systematic\t\t :: " << (*i).second.name() << " \n";
4003  }
4004  }
4005 
4006  if (config.useLargeRJets()) {
4007  map_t syst = config.systMapLargeRJets();
4008  for (Itr i = syst->begin(); i != syst->end(); ++i) {
4009  os << " Large-R Jet systematic\t\t :: " << (*i).second.name() << " \n";
4010  }
4011  }
4012 
4013  os << "\n";
4014  return os;
4015  }

◆ parseCutBookkeepers()

void top::parseCutBookkeepers ( xAOD::TEvent event,
const std::size_t  size,
std::vector< std::string > &  names,
std::vector< float > &  sumW 
)

Search bookkeepers for ones matching AllExecutedEvents, and which originate from AOD before skimming.

Parameters
TEventto retrieve the cutbookkeepers
numberof the generator weights
namesVector of names of the selected bookkeepers
sumWVector of sum of weights of the selected bookkeepers

Definition at line 89 of file Tools.cxx.

90  {
91 
92  // workaround for PMGTruthWeightTool returning ZERO weights, when sample has ONLY ONE weight...
93  const std::size_t modifiedSize = (size == 0) ? 1 : size;
94 
95  std::vector<int> maxCycle;
96 
97  for (std::size_t icbk = 0; icbk < modifiedSize; ++icbk) {
98  const std::string cbkName = (icbk == 0) ? "CutBookkeepers" : "CutBookkeepers_weight_" + std::to_string(icbk);
99  const xAOD::CutBookkeeperContainer* cutBookKeepers = nullptr;
100  top::check(xaodEvent.retrieveMetaInput(cutBookKeepers, cbkName), "Cannot retrieve CutBookkeepers: " + cbkName);
101 
102  for (const xAOD::CutBookkeeper *cbk : *cutBookKeepers) {
103  // skip RDO and ESD numbers, which are nonsense; and
104  // skip the derivation number, which is the one after skimming
105  // we want the primary xAOD numbers
106  if ((cbk->inputStream() != "StreamAOD"))
107  continue;
108  if (cbk->name() != "AllExecutedEvents") continue;
109  const std::string name = cbk->name() + "_weight_" + std::to_string(icbk);
110  auto pos_name = std::find(names.begin(), names.end(), name);
111  // is it a previously unencountered bookkeeper? If yes append its name to the vector of names
112  // if not no need, but we must check the corresponding entry for the sum of weights exist
113  if (pos_name == names.end()) {
114  names.push_back(name);
115  maxCycle.push_back(cbk->cycle());
116  sumW.push_back(cbk->sumOfEventWeights());
117  } else if (cbk->cycle() > maxCycle.at(pos_name - names.begin())) {
118  maxCycle.at(pos_name - names.begin()) = cbk->cycle();
119  sumW.at(pos_name - names.begin()) = cbk->sumOfEventWeights();
120  }
121  }
122  }
123  }

◆ readMetaData() [1/2]

void top::readMetaData ( const xAOD::FileMetaData FMD,
const std::shared_ptr< top::TopConfig > &  config 
)

Retrieve metadata from xAOD::FileMetaData object, to be stored in the TopConfig instance.

Parameters
FMDpointer to xAOD::FileMetaData (for example during initialize via inputMetaStore())
configPass in the config, before it is fixed, so that we can add info

Same as mc_channel_number [float]

Fast or Full sim [string]

Print out this information as a cross-check

Definition at line 359 of file Tools.cxx.

359  {
360  int mcChannelNumber = -1;
361  std::string dataType="?", simFlavour="?";
362  float mcProcID = -1;
363  bool isDataOverlay = false;
364  bool isMC = false;
365 
366  // get dataType and parse the derivation stream
368  if (dataType.find("StreamDAOD") != std::string::npos) {
369  auto cursor = dataType.find('_'); // split DAOD_BLALBA
370  std::string stream = dataType.substr(cursor + 1);
371  config->setDerivationStream(stream);
372  config->setIsTruthDxAOD((stream.find("TRUTH") != std::string::npos));
373  } else {
374  ATH_MSG_WARNING("DataType: " << dataType
375  << " does not appear to be a StreamDAOD_*, so we cannot determine derivation type.");
376  }
377 
378  // If this is data overlay or not
379  FMD->value(xAOD::FileMetaData::isDataOverlay, isDataOverlay);
380  config->setIsDataOverlay(isDataOverlay);
381 
383  FMD->value(xAOD::FileMetaData::mcProcID, mcProcID);
384  mcChannelNumber = mcProcID;
385  config->setDSID(mcChannelNumber);
386  isMC = (mcChannelNumber > 0);
387  config->setIsMC(isMC);
388 
390  FMD->value(xAOD::FileMetaData::simFlavour, simFlavour);
391  if (isMC) {
392  if (simFlavour == "FullG4") {
393  config->setIsAFII(false);
394  } else if (simFlavour == "FullG4_QS") {
395  config->setIsAFII(false);
396  } else if (simFlavour == "FullG4_LongLived") {
397  config->setIsAFII(false);
398  } else if (simFlavour == "ATLFASTII") {
399  config->setIsAFII(true);
400  } else if (simFlavour == "ATLFAST3_QS") {
401  config->setIsAFII(false);
402  } else if (config->isTruthDxAOD()) {
403  config->setIsAFII(false);
404  } else {
405  ATH_MSG_ERROR("Unsupported simFlavour detected in xAOD::FileMetaData: " << simFlavour);
406  throw std::runtime_error("Unsupported simFlavour detected, exiting");
407  }
408  }
409 
411  ATH_MSG_INFO("Reading the following options from FileMetaData:\n"
412  << "dataType -> " << dataType << "\n"
413  << "mcProcID -> " << mcChannelNumber << "\n"
414  << "isMC -> " << isMC << "\n"
415  << "simFlavour -> " << simFlavour << "\n"
416  << "isDataOverlay -> " << isDataOverlay);
417  }

◆ readMetaData() [2/2]

bool top::readMetaData ( TFile *  inputFile,
const std::shared_ptr< top::TopConfig > &  config 
)

This function will be used to load the metadata object and pull information from it.

We will then need to look at storing the info in TopConfig

Parameters
inputFileInclude a single TFile which we load and read
configPass in the config, before it is fixed, so that we can add info
Returns
If successful, return true, else return false

Definition at line 331 of file Tools.cxx.

331  {
332  // Load the file into a TEvent
334  top::check(xaodEvent.readFrom(inputFile), "Cannot load inputFile");
335  xaodEvent.getEntry(0);
336 
337  // Magical metadata tool to access FileMetaData object
338  asg::AsgMetadataTool ATMetaData("OurNewMetaDataObject");
339 
340  // Check it exists, and if it does we will work with it
341  if (ATMetaData.inputMetaStore()->contains<xAOD::FileMetaData>("FileMetaData")) {
342 
343  ATH_MSG_INFO("Trying to read FileMetaData");
344 
345  // Create pointer for FileMetaData which we will load
346  const xAOD::FileMetaData* FMD = 0;
347  top::check(ATMetaData.inputMetaStore()->retrieve(FMD, "FileMetaData"),
348  "Failed to retrieve metadata from AsgMetadataTool");
349  readMetaData(FMD, config);
350 
351  } else {
352  ATH_MSG_ERROR("Could not read FileMetaData inside MetaData tree.");
353  return false;
354  }
355 
356  return true;
357  }

◆ remove_duplicates()

template<typename T >
void top::remove_duplicates ( std::vector< T > &  input)

Definition at line 15 of file DuplicateRemoval.h.

15  {
16  std::sort(input.begin(), input.end());
17  input.erase(std::unique(input.begin(), input.end()), input.end());
18  }

◆ renameCutBookkeepers()

void top::renameCutBookkeepers ( std::vector< std::string > &  bookkepeer_names,
const std::vector< std::string > &  pmg_weight_names 
)

Rename CutBookkeeper names according to MC generator weight names reported by PMGTruthWeightTool.

Parameters
bookkeeper_namesVector of original AllExecutedEvents* bookkeeper names
pmg_weight_namesVector with MC generator weight names from PMGTruthWeightTool

Definition at line 143 of file Tools.cxx.

144  {
145 
146  // prefix in the bookkeeper names to remove
147  static const std::string name_prefix = "AllExecutedEvents_weight_";
148 
149  // check if we have more than one MC generator weight, in that case we have to do the renaming
150  if (pmg_weight_names.size() > 1) {
151  if (bookkeeper_names.size() != pmg_weight_names.size()) {
152  // The number of AllExecutedEvents_ bookkeepers does not match the number of weights retrieved by PMGTool
153  // we cannot match the bookkeepers to weights by indices in this case
154  throw std::runtime_error("ERROR: The number of CutBookkeepers does not match the number of MC generator weights in metadata! Cannot match nominal MC weight to nominal sum of weights!");
155  }
156 
157  // rename the bookkeepers based on the weight names from PMGTool
158  // this names are then also written into the sumWeights TTree in output files
159  for (std::string &name : bookkeeper_names) {
160  // erase "AllExecutedEvents_weight_" prefix
161  int index = std::stoi(name.erase(0, name_prefix.size()));
162  name = pmg_weight_names.at(index);
163  }
164  } else {
165  // expect only one MC weight in this sample, hence only one AllExecutedEvents* bookeeeper
166  if (bookkeeper_names.size() == 1) {
167  bookkeeper_names[0] = "nominal";
168  } else {
169  ATH_MSG_INFO("WARNING: PMGTruthWeightTool reports no extra MC generator weight variations, "
170  << "but this sample does not have exactly one AllExecutedEvents* bookkeeper!\n"
171  << "This means we can't guarantee that the correct CutBookkeeper "
172  << "is used for the sum of weights!");
173  }
174  }
175  }

◆ tokenize()

template<typename Container >
void top::tokenize ( const std::string &  input,
Container output,
const std::string &  delimiters = " ",
bool  trim_empty = false 
)

Tokenize an input string using a set of delimiters.

Template Parameters
ContainerThe type of the output container.
Parameters
inputThe input string which is to be tokenized.
outputThe container onto which the tokens are to be appended. Must support an emplace_back function which takes as pointer to const char (the string data) and a std::size_t (the string length).

For maximum performance use a non-allocating string in the out container, e.g. use Container = std::vector<std::string_view> in c++14.

Definition at line 24 of file Tokenize.h.

25  {
26  const auto size = input.size();
27 
28  std::string::size_type pos {
29  0
30  };
31  std::string::size_type last_pos {
32  0
33  };
34 
35  while (last_pos < size + 1) {
36  pos = input.find_first_of(delimiters, last_pos);
37  if (pos == std::string::npos) {
38  pos = size;
39  }
40 
41  if (pos != last_pos || not trim_empty) {
42  output.emplace_back(input.data() + last_pos, pos - last_pos);
43  }
44 
45  last_pos = pos + 1;
46  }
47  }

◆ tokenize_set()

template<typename Container >
void top::tokenize_set ( const std::string &  input,
Container output,
const std::string &  delimiters = " ",
bool  trim_empty = false 
)

Same as tokenize() method, but accepts std::set-like containers, with emplace method.

Definition at line 53 of file Tokenize.h.

54  {
55  const auto size = input.size();
56 
57  std::string::size_type pos {
58  0
59  };
60  std::string::size_type last_pos {
61  0
62  };
63 
64  while (last_pos < size + 1) {
65  pos = input.find_first_of(delimiters, last_pos);
66  if (pos == std::string::npos) {
67  pos = size;
68  }
69 
70  if (pos != last_pos || not trim_empty) {
71  output.emplace(input.data() + last_pos, pos - last_pos);
72  }
73 
74  last_pos = pos + 1;
75  }
76  }

◆ xAODInit()

void top::xAODInit ( bool  failOnUnchecked = true)

A little wrapper for the xAOD tools.

Also turns enabled the failure on unchecked status codes.

Parameters
failOnUncheckedTerminate the job on unchecked status codes by default.

Definition at line 46 of file Tools.cxx.

46  {
47  if (!xAOD::Init()) {
48  throw std::runtime_error("Failed xAOD::Init - no idea what to do, exiting");
49  }
50  //if (xAOD::LoadDictionaries().isFailure()) {
51  // ATH_MSG_WARNING("Failiure in xAOD::LoadDictionaries(). The job will "
52  // "likely not run correctly.");
53  //}
54 
55  //fail on unchecked error codes
56  if (failOnUnchecked) {
57  StatusCode::enableFailure();
59  }
60  }

Variable Documentation

◆ tauSF_alias

const std::map<topSFSyst, TString> top::tauSF_alias

Definition at line 179 of file ScaleFactorRetriever.h.

◆ tauSF_name

const std::map<topSFSyst, TString> top::tauSF_name

Definition at line 131 of file ScaleFactorRetriever.h.

top::MU_SF_TTVA_LUMI_UNCERT_UP
@ MU_SF_TTVA_LUMI_UNCERT_UP
Definition: ScaleFactorRetriever.h:88
top::MU_SF_ID_SUPRESSION_SCALE_UP
@ MU_SF_ID_SUPRESSION_SCALE_UP
Definition: ScaleFactorRetriever.h:67
top::LepPartonOriginFlag::FromAntiTopViaLeptonicBoson
@ FromAntiTopViaLeptonicBoson
tipically means that the muon is coming from tbar->W->...->muon in some way (or any tbar->W/Z/gamma*‍...
top::MU_SF_ID_MATCHING_LOWPT_UP
@ MU_SF_ID_MATCHING_LOWPT_UP
Definition: ScaleFactorRetriever.h:63
top::MU_SF_Trigger_DOWN
@ MU_SF_Trigger_DOWN
Definition: ScaleFactorRetriever.h:43
top::TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1down
@ TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1down
Definition: ScaleFactorRetriever.h:97
top::EL_SF_ID_UP
@ EL_SF_ID_UP
Definition: ScaleFactorRetriever.h:35
top::MU_SF_Trigger_UP
@ MU_SF_Trigger_UP
Definition: ScaleFactorRetriever.h:43
GetLCDefs::Unknown
@ Unknown
Definition: GetLCDefs.h:21
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
top::TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1up
@ TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1up
Definition: ScaleFactorRetriever.h:111
top::MU_SF_ID_CR3_DOWN
@ MU_SF_ID_CR3_DOWN
Definition: ScaleFactorRetriever.h:73
top::EL_SF_ID_DOWN
@ EL_SF_ID_DOWN
Definition: ScaleFactorRetriever.h:35
top::LepPartonOriginFlag::FromAntiTopViaQuarkToHF
@ FromAntiTopViaQuarkToHF
tipically means that the muon is coming from tbar->bbar->...->muon in some way (or any tbar->qbar->....
checkFileSG.line
line
Definition: checkFileSG.py:75
top::TRIGGER
@ TRIGGER
Definition: ScaleFactorRetriever.h:213
top::EL_SF_Trigger_DOWN
@ EL_SF_Trigger_DOWN
Definition: ScaleFactorRetriever.h:31
top::MU_SF_ID_BKG_FRACTION_DOWN
@ MU_SF_ID_BKG_FRACTION_DOWN
Definition: ScaleFactorRetriever.h:59
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
top::readMetaData
void readMetaData(const xAOD::FileMetaData *FMD, const std::shared_ptr< top::TopConfig > &config)
Retrieve metadata from xAOD::FileMetaData object, to be stored in the TopConfig instance.
Definition: Tools.cxx:359
top::LepPartonOriginFlag::FromAntiTopViaHadronicBosonToHF
@ FromAntiTopViaHadronicBosonToHF
tipically means that the muon is coming from tbar->W->...->muon in some way (or any tbar->W/Z/gamma*‍...
top::FWDEL_SF_ID_UP
@ FWDEL_SF_ID_UP
Definition: ScaleFactorRetriever.h:127
top::CHARGEID
@ CHARGEID
Definition: ScaleFactorRetriever.h:213
top::MU_SF_Isol_STAT_UP
@ MU_SF_Isol_STAT_UP
Definition: ScaleFactorRetriever.h:53
top::LepParticleOriginFlag::FromBtoTau
@ FromBtoTau
from B-hadron to tau to mu decay
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
top::LepParticleOriginFlag::FromLeptonicW
@ FromLeptonicW
from W with leptonic decay (note: this will not work for Sherpa)
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
top::LepPartonOriginFlag::FromHiggs
@ FromHiggs
H->HF->muon, not sure if this can happen in some generators.
top::MU_SF_TTVA_EXTRAPOLATION_UP
@ MU_SF_TTVA_EXTRAPOLATION_UP
Definition: ScaleFactorRetriever.h:92
top::EL_SF_Reco_UP
@ EL_SF_Reco_UP
Definition: ScaleFactorRetriever.h:33
InDet::ExclusiveOrigin::FromC
@ FromC
Definition: InDetTrackTruthOriginDefs.h:166
top::LepParticleOriginFlag::FromLeptonicZToTau
@ FromLeptonicZToTau
from Z->tau->lep (note: this will not work for Sherpa)
top::LepPartonOriginFlag::MissingTruthInfo
@ MissingTruthInfo
e.g. this can mean the muon is coming from light hadrons and there is no truth history,...
top::BTAG_SF_NAMED_DOWN
@ BTAG_SF_NAMED_DOWN
Definition: ScaleFactorRetriever.h:121
top::TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1up
@ TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1up
Definition: ScaleFactorRetriever.h:96
top::ObjectLoaderBase
People seem to want to be able to configure the objects used in their anaysis for some reason.
Definition: ObjectLoaderBase.h:22
top::MU_SF_ID_TAGPT_UP
@ MU_SF_ID_TAGPT_UP
Definition: ScaleFactorRetriever.h:76
index
Definition: index.py:1
CP::CorrectionCode::enableFailure
static void enableFailure() noexcept
Definition: CorrectionCode.h:64
top::MU_SF_ID_LUMI_UNCERT_DOWN
@ MU_SF_ID_LUMI_UNCERT_DOWN
Definition: ScaleFactorRetriever.h:61
xAOD::CutBookkeeper_v1
Description of the class that is used to keep track of event counts.
Definition: CutBookkeeper_v1.h:29
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1up
Definition: ScaleFactorRetriever.h:104
top::MU_SF_Trigger_STAT_UP
@ MU_SF_Trigger_STAT_UP
Definition: ScaleFactorRetriever.h:44
top::MU_SF_ID_SYST_LOWPT_UP
@ MU_SF_ID_SYST_LOWPT_UP
Definition: ScaleFactorRetriever.h:51
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2025__1down
Definition: ScaleFactorRetriever.h:104
top::PHOTON_EFF_TRIGGER_UNCERTAINTY_UP
@ PHOTON_EFF_TRIGGER_UNCERTAINTY_UP
Definition: ScaleFactorRetriever.h:116
skel.it
it
Definition: skel.GENtoEVGEN.py:424
top::ObjectLoaderBase::init
virtual top::TopObjectSelection * init(std::shared_ptr< top::TopConfig > topConfig)=0
Must implement this to load your own object selection.
top::MU_SF_Isol_LUMI_UNCERT_UP
@ MU_SF_Isol_LUMI_UNCERT_UP
Definition: ScaleFactorRetriever.h:80
top::MU_SF_ID_QCD_TEMPLATE_DOWN
@ MU_SF_ID_QCD_TEMPLATE_DOWN
Definition: ScaleFactorRetriever.h:66
top::EL_SF_ChargeID_UP
@ EL_SF_ChargeID_UP
Definition: ScaleFactorRetriever.h:39
top::LepPartonOriginFlag::FromHiggsViaHadronicBosonToHF
@ FromHiggsViaHadronicBosonToHF
H->VV->muon.
top::TAU_SF_END
@ TAU_SF_END
Definition: ScaleFactorRetriever.h:112
top::MU_SF_TTVA_SUPRESSION_SCALE_UP
@ MU_SF_TTVA_SUPRESSION_SCALE_UP
Definition: ScaleFactorRetriever.h:91
downloadSingle.dataType
string dataType
Definition: downloadSingle.py:18
top::LepPartonOriginFlag::FromTopViaLeptonicBoson
@ FromTopViaLeptonicBoson
tipically means that the muon is coming from t->W->...->muon in some way (or any t->W/Z/gamma*‍/H->....
top::MU_SF_ID_BAD_MUON_VETO_UP
@ MU_SF_ID_BAD_MUON_VETO_UP
Definition: ScaleFactorRetriever.h:70
top::MU_SF_ID_STAT_LOWPT_DOWN
@ MU_SF_ID_STAT_LOWPT_DOWN
Definition: ScaleFactorRetriever.h:50
athena.value
value
Definition: athena.py:122
top::PHOTON_EFF_ISO_DOWN
@ PHOTON_EFF_ISO_DOWN
Definition: ScaleFactorRetriever.h:115
top::MU_SF_ID_MATCHING_UP
@ MU_SF_ID_MATCHING_UP
Definition: ScaleFactorRetriever.h:62
top::MU_SF_ID_TRUTH_UP
@ MU_SF_ID_TRUTH_UP
Definition: ScaleFactorRetriever.h:68
ALL
@ ALL
Definition: sTGCenumeration.h:14
top::TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1down
@ TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1down
Definition: ScaleFactorRetriever.h:98
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1up
Definition: ScaleFactorRetriever.h:106
top::MU_SF_Isol_SHERPA_POWHEG_DOWN
@ MU_SF_Isol_SHERPA_POWHEG_DOWN
Definition: ScaleFactorRetriever.h:84
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
top::LepParticleOriginFlag::FromLightHadron
@ FromLightHadron
often these muons are Unknown, but in some cases we have the truth record and we can verify they are ...
top::MU_SF_ID_HIGHETA_PROBEIP_DOWN
@ MU_SF_ID_HIGHETA_PROBEIP_DOWN
Definition: ScaleFactorRetriever.h:74
beamspotman.tokens
tokens
Definition: beamspotman.py:1284
xAOD::TEvent::kClassAccess
@ kClassAccess
Access auxiliary data using the aux containers.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:97
top::EL_SF_Trigger_UP
@ EL_SF_Trigger_UP
Definition: ScaleFactorRetriever.h:31
top::MU_SF_ID_EXTRAPOLATION_UP
@ MU_SF_ID_EXTRAPOLATION_UP
Definition: ScaleFactorRetriever.h:77
xAOD::EventInfo_v1::IS_SIMULATION
@ IS_SIMULATION
true: simulation, false: data
Definition: EventInfo_v1.h:151
xAOD::mcChannelNumber
mcChannelNumber
Definition: EventInfo_v1.cxx:197
top::MU_SF_ID_BAD_MUON_VETO_DOWN
@ MU_SF_ID_BAD_MUON_VETO_DOWN
Definition: ScaleFactorRetriever.h:70
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
CxxUtils::fpcompare::greater
bool greater(double a, double b)
Compare two FP numbers, working around x87 precision issues.
Definition: fpcompare.h:140
top::JVT_UP
@ JVT_UP
Definition: ScaleFactorRetriever.h:123
top::fileList
std::vector< std::string > fileList(const std::string &filename)
Given a filename for a text file, parse it and extract a list of root files.
Definition: Tools.cxx:239
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
top::LepPartonOriginFlag::FromTopViaHadronicBosonToHF
@ FromTopViaHadronicBosonToHF
tipically means that the muon is coming from t->W->...->muon in some way (or any t->W/Z/gamma*‍/H->....
xAOD::FileMetaData_v1::value
bool value(MetaDataType type, std::string &val) const
Get a pre-defined string value out of the object.
Definition: FileMetaData_v1.cxx:195
top::MU_SF_ID_SYST_LOWPT_DOWN
@ MU_SF_ID_SYST_LOWPT_DOWN
Definition: ScaleFactorRetriever.h:51
top::MU_SF_ID_HIGHETA_PROBEISO_DOWN
@ MU_SF_ID_HIGHETA_PROBEISO_DOWN
Definition: ScaleFactorRetriever.h:75
top::MU_SF_Trigger_SYST_UP
@ MU_SF_Trigger_SYST_UP
Definition: ScaleFactorRetriever.h:45
xAOD::FileMetaData_v1::simFlavour
@ simFlavour
Fast or Full sim [string].
Definition: FileMetaData_v1.h:76
top::MU_SF_ID_FIT_MODEL_LOWPT_DOWN
@ MU_SF_ID_FIT_MODEL_LOWPT_DOWN
Definition: ScaleFactorRetriever.h:60
top::kMuon
@ kMuon
Definition: PseudoTopReco.h:37
top::MU_SF_Trigger_STAT_DOWN
@ MU_SF_Trigger_STAT_DOWN
Definition: ScaleFactorRetriever.h:44
top::MU_SF_Trigger_SYST_DOWN
@ MU_SF_Trigger_SYST_DOWN
Definition: ScaleFactorRetriever.h:45
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1up
Definition: ScaleFactorRetriever.h:102
top::BTAG_SF_EIGEN_C
@ BTAG_SF_EIGEN_C
Definition: ScaleFactorRetriever.h:119
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
PyPoolBrowser.item
item
Definition: PyPoolBrowser.py:129
top::MU_SF_ID_MC_XSEC_DOWN
@ MU_SF_ID_MC_XSEC_DOWN
Definition: ScaleFactorRetriever.h:64
top::LepPartonOriginFlag::FromBSM
@ FromBSM
direct H->muon
top::betterBtagNamedSyst
std::string betterBtagNamedSyst(const std::string &name)
Definition: TopCorrectionsTools.cxx:45
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1down
Definition: ScaleFactorRetriever.h:105
InDet::ExclusiveOrigin::FromTau
@ FromTau
Definition: InDetTrackTruthOriginDefs.h:167
top::LepPartonOriginFlag::FromHiggsViaLeptonicBosonToHF
@ FromHiggsViaLeptonicBosonToHF
top::OverlapRemovalBase::print
virtual void print(std::ostream &) const =0
top::LepPartonOriginFlag::FromTopViaQuarkToHF
@ FromTopViaQuarkToHF
tipically means that the muon is coming from t->b->...->muon in some way (or any t->q->....
top::MU_SF_Isol_SYST_DOWN
@ MU_SF_Isol_SYST_DOWN
Definition: ScaleFactorRetriever.h:54
met
Definition: IMETSignificance.h:24
top::MU_SF_Isol_LUMI_UNCERT_DOWN
@ MU_SF_Isol_LUMI_UNCERT_DOWN
Definition: ScaleFactorRetriever.h:80
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
top::TAU_SF_NOMINAL
@ TAU_SF_NOMINAL
Definition: ScaleFactorRetriever.h:94
Generate_dsid_ranseed.seed
seed
Definition: Generate_dsid_ranseed.py:10
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
LArG4FSStartPointFilter.rand
rand
Definition: LArG4FSStartPointFilter.py:80
top::MU_SF_TTVA_MC_XSEC_UP
@ MU_SF_TTVA_MC_XSEC_UP
Definition: ScaleFactorRetriever.h:89
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
top::BTAG_SF_EIGEN_LIGHT
@ BTAG_SF_EIGEN_LIGHT
Definition: ScaleFactorRetriever.h:120
CaloCondBlobAlgs_fillNoiseFromASCII.inputFile
string inputFile
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:17
lumiFormat.i
int i
Definition: lumiFormat.py:92
top::MU_SF_ID_BKG_FRACTION_UP
@ MU_SF_ID_BKG_FRACTION_UP
Definition: ScaleFactorRetriever.h:59
top::MU_SF_TTVA_LUMI_UNCERT_DOWN
@ MU_SF_TTVA_LUMI_UNCERT_DOWN
Definition: ScaleFactorRetriever.h:88
top::TopObjectSelection
Configure the object selection used in the analysis.
Definition: TopObjectSelection.h:66
python.subdetectors.mmg.names
names
Definition: mmg.py:8
top::MU_SF_Isol_QCD_TEMPLATE_DOWN
@ MU_SF_Isol_QCD_TEMPLATE_DOWN
Definition: ScaleFactorRetriever.h:83
top::MU_SF_ID_CR2_UP
@ MU_SF_ID_CR2_UP
Definition: ScaleFactorRetriever.h:72
top::MU_SF_Isol_SUPRESSION_SCALE_DOWN
@ MU_SF_Isol_SUPRESSION_SCALE_DOWN
Definition: ScaleFactorRetriever.h:85
top::lastsys
@ lastsys
Definition: ScaleFactorRetriever.h:129
top::MU_SF_Isol_QCD_TEMPLATE_UP
@ MU_SF_Isol_QCD_TEMPLATE_UP
Definition: ScaleFactorRetriever.h:83
top::nominal
@ nominal
Definition: ScaleFactorRetriever.h:29
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
top::MU_SF_Isol_EXTRAPOLATION_DOWN
@ MU_SF_Isol_EXTRAPOLATION_DOWN
Definition: ScaleFactorRetriever.h:86
top::LepPartonOriginFlag::FromLeptonicBoson
@ FromLeptonicBoson
general case of W/Z/gamma*‍/H->muon or W/Z/gamma*‍/H->tau->muon
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1down
Definition: ScaleFactorRetriever.h:101
top::FJVT_UP
@ FJVT_UP
Definition: ScaleFactorRetriever.h:125
top::MU_SF_Isol_MLLWINDOW_UP
@ MU_SF_Isol_MLLWINDOW_UP
Definition: ScaleFactorRetriever.h:82
top::EventSaverBase
A base class so users can write their own event saving stuff.
Definition: EventSaverBase.h:26
top::kElectron
@ kElectron
Definition: PseudoTopReco.h:37
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
top::check
void check(bool thingToCheck, const std::string &usefulFailureMessage)
Print an error message and terminate if thingToCheck is false.
Definition: EventTools.cxx:15
top::TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1down
@ TAUS_TRUEHADTAU_EFF_ELEOLR_TOTAL__1down
Definition: ScaleFactorRetriever.h:96
top::LepParticleOriginFlag::FromCtoTau
@ FromCtoTau
from C-hadron (with no B-hadron parent) to tau to mu decay
top::TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1up
@ TAUS_TRUEELECTRON_EFF_ELEOLR_STAT__1up
Definition: ScaleFactorRetriever.h:97
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT3040__1down
Definition: ScaleFactorRetriever.h:106
top::LepParticleOriginFlag::FromBtoC
@ FromBtoC
from B-hadron to C-hadron to muon decay
top::TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1up
@ TAUS_TRUEELECTRON_EFF_ELEOLR_SYST__1up
Definition: ScaleFactorRetriever.h:98
top::LepParticleOriginFlag::FromBtoCtoTau
@ FromBtoCtoTau
from B-hadron to C-hadron to tau to muon decay
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1down
Definition: ScaleFactorRetriever.h:107
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2530__1up
Definition: ScaleFactorRetriever.h:101
xAOD::CutBookkeeperContainer_v1
Container that holds the Container of all CutBookkeepers.
Definition: CutBookkeeperContainer_v1.h:27
top::MU_SF_TTVA_QCD_TEMPLATE_DOWN
@ MU_SF_TTVA_QCD_TEMPLATE_DOWN
Definition: ScaleFactorRetriever.h:90
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1down
Definition: ScaleFactorRetriever.h:103
xAOD::FileMetaData_v1::mcProcID
@ mcProcID
Same as mc_channel_number [float].
Definition: FileMetaData_v1.h:74
xAOD::eventNumber
eventNumber
Definition: EventInfo_v1.cxx:124
top::TTVA
@ TTVA
Definition: ScaleFactorRetriever.h:213
top::PHOTON_IDSF_DOWN
@ PHOTON_IDSF_DOWN
Definition: ScaleFactorRetriever.h:114
top::RECO
@ RECO
Definition: ScaleFactorRetriever.h:213
top::MU_SF_Isol_BKG_FRACTION_UP
@ MU_SF_Isol_BKG_FRACTION_UP
Definition: ScaleFactorRetriever.h:78
top::MU_SF_TTVA_BKG_FRACTION_UP
@ MU_SF_TTVA_BKG_FRACTION_UP
Definition: ScaleFactorRetriever.h:87
top::MU_SF_TTVA_BKG_FRACTION_DOWN
@ MU_SF_TTVA_BKG_FRACTION_DOWN
Definition: ScaleFactorRetriever.h:87
selection
std::string selection
Definition: fbtTestBasics.cxx:73
top::MU_SF_ID_SUPRESSION_SCALE_DOWN
@ MU_SF_ID_SUPRESSION_SCALE_DOWN
Definition: ScaleFactorRetriever.h:67
top::MU_SF_ID_STAT_LOWPT_UP
@ MU_SF_ID_STAT_LOWPT_UP
Definition: ScaleFactorRetriever.h:50
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
xAOD::FileMetaData_v1
Class holding file-level metadata about an xAOD file.
Definition: FileMetaData_v1.h:34
top::MU_SF_Isol_STAT_DOWN
@ MU_SF_Isol_STAT_DOWN
Definition: ScaleFactorRetriever.h:53
top::EL_SF_Isol_DOWN
@ EL_SF_Isol_DOWN
Definition: ScaleFactorRetriever.h:37
top::MU_SF_Isol_SYST_UP
@ MU_SF_Isol_SYST_UP
Definition: ScaleFactorRetriever.h:54
xAOD::IParticle::pt
virtual double pt() const =0
The transverse momentum ( ) of the particle.
merge.output
output
Definition: merge.py:17
top::MU_SF_TTVA_SUPRESSION_SCALE_DOWN
@ MU_SF_TTVA_SUPRESSION_SCALE_DOWN
Definition: ScaleFactorRetriever.h:91
top::MU_SF_Isol_DRMUJ_DOWN
@ MU_SF_Isol_DRMUJ_DOWN
Definition: ScaleFactorRetriever.h:79
top::MU_SF_Isol_MLLWINDOW_DOWN
@ MU_SF_Isol_MLLWINDOW_DOWN
Definition: ScaleFactorRetriever.h:82
top::MU_SF_ID_SYST_UP
@ MU_SF_ID_SYST_UP
Definition: ScaleFactorRetriever.h:48
top::MU_SF_TTVA_STAT_UP
@ MU_SF_TTVA_STAT_UP
Definition: ScaleFactorRetriever.h:56
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
top::LepPartonOriginFlag::FromBSMToHF
@ FromBSMToHF
BSMparticle->V->HF->muon.
top::MU_SF_ID_PT_DEPENDENCY_UP
@ MU_SF_ID_PT_DEPENDENCY_UP
Definition: ScaleFactorRetriever.h:65
top::TAUS_TRUEHADTAU_EFF_RNNID_SYST__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_SYST__1down
Definition: ScaleFactorRetriever.h:109
top::MU_SF_TTVA_QCD_TEMPLATE_UP
@ MU_SF_TTVA_QCD_TEMPLATE_UP
Definition: ScaleFactorRetriever.h:90
top::PHOTON_EFF_TRIGGER_UNCERTAINTY_DOWN
@ PHOTON_EFF_TRIGGER_UNCERTAINTY_DOWN
Definition: ScaleFactorRetriever.h:117
top::MU_SF_ID_CR3_UP
@ MU_SF_ID_CR3_UP
Definition: ScaleFactorRetriever.h:73
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
top::MU_SF_Isol_MC_XSEC_UP
@ MU_SF_Isol_MC_XSEC_UP
Definition: ScaleFactorRetriever.h:81
top::EL_SF_ChargeMisID_STAT_UP
@ EL_SF_ChargeMisID_STAT_UP
Definition: ScaleFactorRetriever.h:40
map_t
std::map< std::string, unsigned int > map_t
Definition: EMECSupportConstruction.cxx:227
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
top::MU_SF_Isol_BKG_FRACTION_DOWN
@ MU_SF_Isol_BKG_FRACTION_DOWN
Definition: ScaleFactorRetriever.h:78
top::MU_SF_ID_PT_DEPENDENCY_DOWN
@ MU_SF_ID_PT_DEPENDENCY_DOWN
Definition: ScaleFactorRetriever.h:65
top::LepPartonOriginFlag::FromHiggsToHF
@ FromHiggsToHF
H->VV->HF->muon.
top::ISOLATION
@ ISOLATION
Definition: ScaleFactorRetriever.h:213
top::MU_SF_Isol_SHERPA_POWHEG_UP
@ MU_SF_Isol_SHERPA_POWHEG_UP
Definition: ScaleFactorRetriever.h:84
item
Definition: ItemListSvc.h:43
test_pythinning.out
out
Definition: test_pythinning.py:94
xAOD::IParticle::p4
virtual FourMom_t p4() const =0
The full 4-momentum of the particle.
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPTGE40__1up
Definition: ScaleFactorRetriever.h:103
top::TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1down
@ TAUS_TRUEHADTAU_EFF_RECO_TOTAL__1down
Definition: ScaleFactorRetriever.h:111
top::MU_SF_ID_HIGHETA_PROBEISO_UP
@ MU_SF_ID_HIGHETA_PROBEISO_UP
Definition: ScaleFactorRetriever.h:75
top::PHOTON_IDSF_UP
@ PHOTON_IDSF_UP
Definition: ScaleFactorRetriever.h:114
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
grepfile.filenames
list filenames
Definition: grepfile.py:34
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1down
Definition: ScaleFactorRetriever.h:100
top::MU_SF_ID_HIGHETA_PROBEIP_UP
@ MU_SF_ID_HIGHETA_PROBEIP_UP
Definition: ScaleFactorRetriever.h:74
top::EL_SF_Isol_UP
@ EL_SF_Isol_UP
Definition: ScaleFactorRetriever.h:37
top::MU_SF_ID_CR2_DOWN
@ MU_SF_ID_CR2_DOWN
Definition: ScaleFactorRetriever.h:72
top::MU_SF_ID_TAGPT_DOWN
@ MU_SF_ID_TAGPT_DOWN
Definition: ScaleFactorRetriever.h:76
top::LepParticleOriginFlag::FromLeptonicWToTau
@ FromLeptonicWToTau
from W->tau->lep (note: this will not work for Sherpa)
python.PyAthena.v
v
Definition: PyAthena.py:157
top::MU_SF_Isol_EXTRAPOLATION_UP
@ MU_SF_Isol_EXTRAPOLATION_UP
Definition: ScaleFactorRetriever.h:86
top::LepParticleOriginFlag::FromPhotonToTau
@ FromPhotonToTau
gamma*->muonmuon
query_example.cursor
cursor
Definition: query_example.py:21
top::EL_SF_ChargeID_DOWN
@ EL_SF_ChargeID_DOWN
Definition: ScaleFactorRetriever.h:39
top::MU_SF_ID_QCD_TEMPLATE_UP
@ MU_SF_ID_QCD_TEMPLATE_UP
Definition: ScaleFactorRetriever.h:66
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
top::LepParticleOriginFlag::FromPhoton
@ FromPhoton
asg::AsgMetadataTool
Base class for dual-use tools that provide file metadata access.
Definition: AsgMetadataTool.h:48
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT3040__1down
Definition: ScaleFactorRetriever.h:102
top::LepPartonOriginFlag::FromBSMViaHadronicBosonToHF
@ FromBSMViaHadronicBosonToHF
BSMparticle->V->muon.
std::sort
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
Definition: DVL_algorithms.h:623
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
top::MU_SF_ID_TRUTH_LOWPT_UP
@ MU_SF_ID_TRUTH_LOWPT_UP
Definition: ScaleFactorRetriever.h:69
top::EL_SF_ChargeMisID_SYST_UP
@ EL_SF_ChargeMisID_SYST_UP
Definition: ScaleFactorRetriever.h:41
top::CHARGEMISID
@ CHARGEMISID
Definition: ScaleFactorRetriever.h:213
top::JVT_DOWN
@ JVT_DOWN
Definition: ScaleFactorRetriever.h:123
top::LepParticleOriginFlag::FromLeptonicZ
@ FromLeptonicZ
gamma*->tautau and tau->muon
top::BTAG_SF_NAMED_UP
@ BTAG_SF_NAMED_UP
Definition: ScaleFactorRetriever.h:121
top::MU_SF_ID_MATCHING_LOWPT_DOWN
@ MU_SF_ID_MATCHING_LOWPT_DOWN
Definition: ScaleFactorRetriever.h:63
python.TriggerHandler.verbose
verbose
Definition: TriggerHandler.py:297
ReadCellNoiseFromCoolCompare.s2
s2
Definition: ReadCellNoiseFromCoolCompare.py:379
top::MU_SF_TTVA_MC_XSEC_DOWN
@ MU_SF_TTVA_MC_XSEC_DOWN
Definition: ScaleFactorRetriever.h:89
top::TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_1PRONGSTATSYSTPT2025__1up
Definition: ScaleFactorRetriever.h:100
top::LepParticleOriginFlag::FromBSMToTau
@ FromBSMToTau
BSMparticle->muon.
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
entries
double entries
Definition: listroot.cxx:49
top::MU_SF_ID_LUMI_UNCERT_UP
@ MU_SF_ID_LUMI_UNCERT_UP
Definition: ScaleFactorRetriever.h:61
EventInfoRead.isMC
isMC
Definition: EventInfoRead.py:11
top::MU_SF_ID_MC_XSEC_UP
@ MU_SF_ID_MC_XSEC_UP
Definition: ScaleFactorRetriever.h:64
top::LepPartonOriginFlag::FromHFHadronOfUnkownOrigin
@ FromHFHadronOfUnkownOrigin
HF hadron->muon or HF hadron->tau->muon, we're not sure where the HF hadron is coming from (maybe a g...
top::TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1down
@ TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1down
Definition: ScaleFactorRetriever.h:108
top::MU_SF_ID_STAT_UP
@ MU_SF_ID_STAT_UP
Definition: ScaleFactorRetriever.h:47
str
Definition: BTagTrackIpAccessor.cxx:11
top::MU_SF_TTVA_EXTRAPOLATION_DOWN
@ MU_SF_TTVA_EXTRAPOLATION_DOWN
Definition: ScaleFactorRetriever.h:92
top::MU_SF_ID_STAT_DOWN
@ MU_SF_ID_STAT_DOWN
Definition: ScaleFactorRetriever.h:47
top::EL_SF_ChargeMisID_SYST_DOWN
@ EL_SF_ChargeMisID_SYST_DOWN
Definition: ScaleFactorRetriever.h:41
top::MU_SF_Isol_MC_XSEC_DOWN
@ MU_SF_Isol_MC_XSEC_DOWN
Definition: ScaleFactorRetriever.h:81
top::EL_SF_ChargeMisID_STAT_DOWN
@ EL_SF_ChargeMisID_STAT_DOWN
Definition: ScaleFactorRetriever.h:40
top::LepPartonOriginFlag::FromHadronicBosonToHF
@ FromHadronicBosonToHF
general case of W/Z/gamma*‍/H->HF hadrons->muon
xAOD::IParticle::phi
virtual double phi() const =0
The azimuthal angle ( ) of the particle.
top::MU_SF_ID_TRUTH_LOWPT_DOWN
@ MU_SF_ID_TRUTH_LOWPT_DOWN
Definition: ScaleFactorRetriever.h:69
top::TAUS_TRUEHADTAU_EFF_RNNID_SYST__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_SYST__1up
Definition: ScaleFactorRetriever.h:109
top::MU_SF_Isol_DRMUJ_UP
@ MU_SF_Isol_DRMUJ_UP
Definition: ScaleFactorRetriever.h:79
InDet::ExclusiveOrigin::FromB
@ FromB
Definition: InDetTrackTruthOriginDefs.h:164
top::MU_SF_ID_MATCHING_DOWN
@ MU_SF_ID_MATCHING_DOWN
Definition: ScaleFactorRetriever.h:62
top::LepPartonOriginFlag::FromBSMViaLeptonicBosonToHF
@ FromBSMViaLeptonicBosonToHF
BSMparticle->muon.
top::MU_SF_ID_TRUTH_DOWN
@ MU_SF_ID_TRUTH_DOWN
Definition: ScaleFactorRetriever.h:68
xAOD::FileMetaData_v1::isDataOverlay
@ isDataOverlay
Used data overlay for backgrounds [bool].
Definition: FileMetaData_v1.h:78
top::BTAG_SF_EIGEN_B
@ BTAG_SF_EIGEN_B
Definition: ScaleFactorRetriever.h:119
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
top::MU_SF_TTVA_STAT_DOWN
@ MU_SF_TTVA_STAT_DOWN
Definition: ScaleFactorRetriever.h:56
top::MU_SF_ID_FIT_MODEL_LOWPT_UP
@ MU_SF_ID_FIT_MODEL_LOWPT_UP
Definition: ScaleFactorRetriever.h:60
top::PHOTON_EFF_ISO_UP
@ PHOTON_EFF_ISO_UP
Definition: ScaleFactorRetriever.h:115
python.compressB64.c
def c
Definition: compressB64.py:93
top::FWDEL_SF_ID_DOWN
@ FWDEL_SF_ID_DOWN
Definition: ScaleFactorRetriever.h:127
top::EL_SF_Reco_DOWN
@ EL_SF_Reco_DOWN
Definition: ScaleFactorRetriever.h:33
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPT2530__1up
Definition: ScaleFactorRetriever.h:105
top::MU_SF_TTVA_SYST_UP
@ MU_SF_TTVA_SYST_UP
Definition: ScaleFactorRetriever.h:57
xAOD::FileMetaData_v1::dataType
@ dataType
Data type that's in the file [string].
Definition: FileMetaData_v1.h:64
top::MU_SF_Isol_SUPRESSION_SCALE_UP
@ MU_SF_Isol_SUPRESSION_SCALE_UP
Definition: ScaleFactorRetriever.h:85
xAOD::TEvent
Tool for accessing xAOD files outside of Athena.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:81
top::LepParticleOriginFlag::FromHiggsToTau
@ FromHiggsToTau
Higgs->muon.
top::MU_SF_TTVA_SYST_DOWN
@ MU_SF_TTVA_SYST_DOWN
Definition: ScaleFactorRetriever.h:57
top::TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_HIGHPT__1up
Definition: ScaleFactorRetriever.h:108
top::FJVT_DOWN
@ FJVT_DOWN
Definition: ScaleFactorRetriever.h:125
top::MU_SF_ID_SYST_DOWN
@ MU_SF_ID_SYST_DOWN
Definition: ScaleFactorRetriever.h:48
top::MU_SF_ID_CR1_UP
@ MU_SF_ID_CR1_UP
Definition: ScaleFactorRetriever.h:71
xAOD::Init
StatusCode Init(const char *appname)
Function initialising ROOT/PyROOT for using the ATLAS EDM.
Definition: Init.cxx:31
top::MU_SF_ID_EXTRAPOLATION_DOWN
@ MU_SF_ID_EXTRAPOLATION_DOWN
Definition: ScaleFactorRetriever.h:77
top::MU_SF_ID_CR1_DOWN
@ MU_SF_ID_CR1_DOWN
Definition: ScaleFactorRetriever.h:71
top::TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1up
@ TAUS_TRUEHADTAU_EFF_RNNID_3PRONGSTATSYSTPTGE40__1up
Definition: ScaleFactorRetriever.h:107