/***************************************************************************** * @Package: AZAnalysis/AZUtils * @class HLTJetMET * @author Venkat Kaushik - U. Arizona *****************************************************************************/ #ifndef AZAnalysis_AZUtils_HLTJetMET_h #define AZAnalysis_AZUtils_HLTJetMET_h // local includes #include "AZCore/SLogger.h" // STL includes #include #include "TH1.h" // forward declarations class DataStore; class ElectronContainer; namespace Analysis { class MuonContainer; } class JetCollection; class MissingET; class MissingETCalo; class EventInfo; namespace TrigDec { class TrigDecision; } namespace Trig { class TrigDecisionToolARA; } class LVL1_ROI; class TrigT2JetContainer; class TrigMissingETContainer; class TrigMatchToolARA; class HLTJetMET; class HLTJetMET { public: //default constructor HLTJetMET(const std::string& ); //default destructor ~HLTJetMET(); // process this event bool ProcessEvent(DataStore& ); // test if trigger fired bool TrigFired(std::vector&, Trig::TrigDecisionToolARA *, bool); void MakeEfficiencyHists(); private: // message service mutable SLogger logme; // branch to select trigger info std::string m_chainGrp; // list of trigger names to check std::vector m_L1Names, m_L2Names, m_EFNames; // branches from tree std::string m_jetsFromName; std::string m_muonsFromName; std::string m_electronsFromName; std::string m_metcalibFromName; std::string m_seljetelectronsFromName; std::string m_seljetsFromName; std::string m_selmuonsFromName; std::string m_selelectronsFromName; std::string m_trigl1roisFromName; std::string m_trigl2jetsFromName; std::string m_trigefjetsFromName; std::string m_trigl2metFromName; std::string m_trigefmetFromName; // require any/all triggers to pass bool m_passAnyTrig, m_passAnyLevel; bool m_reqLevel1, m_reqLevel2, m_reqLevel3; TH1F *m_l1_jet_et; TH1F *m_l2_jet_et; TH1F *m_ef_jet_et; TH1F *m_reco_jet_pt; TH1F *m_reco_seljet_pt; TH1F *m_reco_jet_eta; TH1F *m_reco_jet_phi; TH1F *m_l1_jet_n; TH1F *m_l2_jet_n; TH1F *m_ef_jet_n; TH1F *m_reco_jet_n; TH1F *m_reco_seljet_n; TH1F *m_l1_met_et; TH1F *m_l2_met_et; TH1F *m_ef_met_et; TH1F *m_calib_met_et; TH1F *m_reco_jet_emfrac; TH1F *m_reco_jet_em1frac; TH1F *m_reco_jet_em2frac; TH1F *m_reco_jet_em3frac; TH1F *m_reco_jet_l1_jet_dr; TH1F *m_reco_jet_l2_jet_dr; TH1F *m_reco_jet_ef_jet_dr; TH1F *m_reco_jet_pt_den; TH1F *m_reco_jet_pt_l1_num; TH1F *m_reco_jet_pt_l2_num; TH1F *m_reco_jet_pt_ef_num; TH1F *m_reco_jet_eta_den; TH1F *m_reco_jet_eta_l1_num; TH1F *m_reco_jet_eta_l2_num; TH1F *m_reco_jet_eta_ef_num; TH1F *m_reco_jet_phi_den; TH1F *m_reco_jet_phi_l1_num; TH1F *m_reco_jet_phi_l2_num; TH1F *m_reco_jet_phi_ef_num; TH1F *m_reco_jet_pt_l1_eff; TH1F *m_reco_jet_pt_l2_eff; TH1F *m_reco_jet_pt_ef_eff; TH1F *m_reco_jet_eta_l1_eff; TH1F *m_reco_jet_eta_l2_eff; TH1F *m_reco_jet_eta_ef_eff; TH1F *m_reco_jet_phi_l1_eff; TH1F *m_reco_jet_phi_l2_eff; TH1F *m_reco_jet_phi_ef_eff; }; #endif