MuonHists

class MuonHists

Inherits from IParticleHists

Public Functions

MuonHists(std::string name, std::string detailStr, const std::string &prefix = "muon", const std::string &titleprefix = "muon")
~MuonHists()
StatusCode initialize()

Initialize and book all histograms.

Note

This should call the overloaded functions HistogramManager::book() to create the histograms so that the user can call hists->record(wk()) to record all histograms to the EventLoop worker.

Example implementation:

StatusCode JetHists::initialize() {
  m_jetPt          = book(m_name, "jetPt",  "jet p_{T} [GeV]", 120, 0, 3000.);
  return StatusCode::SUCCESS;
}

StatusCode execute(const xAOD::Muon *muon, float eventWeight, const xAOD::EventInfo *eventInfo = 0)
StatusCode execute(const xAH::Muon *muon, float eventWeight, const xAH::EventInfo *eventInfo = 0)
StatusCode execute(const xAOD::IParticleContainer *particles, float eventWeight, const xAOD::EventInfo *eventInfo = 0)
template <class T_PARTICLE, class T_INFOSWITCH>
StatusCode execute(const xAH::ParticleContainer<T_PARTICLE, T_INFOSWITCH> *particles, float eventWeight, const xAH::EventInfo *eventInfo = 0)
virtual StatusCode execute()

Execute by filling in the histograms.

Example implementation:

StatusCode JetHists::execute( const xAOD::JetContainer* jets, float eventWeight ){
  for(const auto& jet: *jets)
    m_jetPt->Fill( jet->pt()/1.e3, eventWeight );
  return StatusCode::SUCCESS;
}

virtual StatusCode finalize()

Finalize anything that needs to be finalized.

Warning

This should rarely be used. There is not a good use case for this functionality but it needs to exist in the off-chance that a user comes along and needs it for their histogram class.

TH1F *book(std::string name, std::string title, std::string xlabel, int xbins, double xlow, double xhigh)

record a histogram and call various functions

Note
This is an overloaded function. It will build the right histogram given the correct number of input arguments.
Parameters
  • name: name of histogram, access it in ROOT file like h_jetPt->Draw()
  • title: usually pointless,put a description of the histogram in here
  • xlabel: label to put on the x-axis
  • xbins: number of xbins to use
  • xlow: lower bound on xbins
  • xhigh: upper bound on xbins
  • xbinsArr: variable xbins, test math \((x_1,y_1)\) and \((x_2,y_2)\)
  • ylabel: label to put on the y-axis
  • ylow: lower bound on ybins
  • yhigh: upper bound on ybins
  • ybinsArr: variable ybins
  • zlabel: label to put on the z-axix
  • zlow: lower bound on zbins
  • zhigh: upper bound on zbins
  • zbinsArr: variable zbins

TH2F *book(std::string name, std::string title, std::string xlabel, int xbins, double xlow, double xhigh, std::string xyabel, int ybins, double ylow, double yhigh)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

TH3F *book(std::string name, std::string title, std::string xlabel, int xbins, double xlow, double xhigh, std::string ylabel, int ybins, double ylow, double yhigh, std::string zlabel, int zbins, double zlow, double zhigh)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

TH1F *book(std::string name, std::string title, std::string xlabel, int xbins, const Double_t *xbinsArr)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

TH2F *book(std::string name, std::string title, std::string xlabel, int xbins, const Double_t *xbinsArr, std::string ylabel, int ybins, double ylow, double yhigh)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

TH2F *book(std::string name, std::string title, std::string xyabel, int xbins, double xlow, double xhigh, std::string ylabel, int ybins, const Double_t *ybinsArr)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

TH2F *book(std::string name, std::string title, std::string xyabel, int xbins, const Double_t *xbinsArr, std::string ylabel, int ybins, const Double_t *ybinsArr)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

TH3F *book(std::string name, std::string title, std::string xlabel, int xbins, const Double_t *xbinsArr, std::string ylabel, int ybins, const Double_t *ybinsArr, std::string zlabel, int zbins, const Double_t *zbinsArr)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

TProfile *book(std::string name, std::string title, std::string xlabel, int xbins, double xlow, double xhigh, std::string ylabel, double ylow, double yhigh, std::string option = "")

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void record(EL::Worker *wk)

record all histograms from HistogramManager::m_allHists to the worker

MsgStream &msg() const

the standard message stream for this algorithm

MsgStream &msg(int level) const

allow ANA_MSG_XXXX macros to be used within algorithms for a given level

Public Members

bool m_debug

Protected Functions

StatusCode execute(const xAOD::IParticle *particle, float eventWeight, const xAOD::EventInfo *eventInfo = 0)
StatusCode execute(const xAH::Particle *particle, float eventWeight, const xAH::EventInfo *eventInfo = 0)

Protected Attributes

HelperClasses::MuonInfoSwitch *m_infoSwitch
std::string m_name

generically the main name assigned to all histograms

std::string m_detailStr

a detail level in the form of a string

std::vector<TH1 *> m_allHists

a container holding all generated histograms

MsgStream m_msg

hold the MsgStream object

Private Members

TH1F *m_isIsolated_LooseTrackOnly
TH1F *m_isIsolated_Loose
TH1F *m_isIsolated_Tight
TH1F *m_isIsolated_Gradient
TH1F *m_isIsolated_GradientLoose
TH1F *m_isIsolated_GradientT1
TH1F *m_isIsolated_GradientT2
TH1F *m_isIsolated_MU0p06
TH1F *m_isIsolated_FixedCutLoose
TH1F *m_isIsolated_FixedCutTight
TH1F *m_isIsolated_FixedCutTightTrackOnly
TH1F *m_isIsolated_UserDefinedFixEfficiency
TH1F *m_isIsolated_UserDefinedCut
TH1F *m_ptcone20
TH1F *m_ptcone30
TH1F *m_ptcone40
TH1F *m_ptvarcone20
TH1F *m_ptvarcone30
TH1F *m_ptvarcone40
TH1F *m_topoetcone20
TH1F *m_topoetcone30
TH1F *m_topoetcone40
TH1F *m_ptcone20_rel
TH1F *m_ptcone30_rel
TH1F *m_ptcone40_rel
TH1F *m_ptvarcone20_rel
TH1F *m_ptvarcone30_rel
TH1F *m_ptvarcone40_rel
TH1F *m_topoetcone20_rel
TH1F *m_topoetcone30_rel
TH1F *m_topoetcone40_rel
TH1F *m_isVeryLoose
TH1F *m_isLoose
TH1F *m_isMedium
TH1F *m_isTight