Go to the documentation of this file.00001 #ifndef HLTrigger_HLTanalyzers_HLTBJet_h
00002 #define HLTrigger_HLTanalyzers_HLTBJet_h
00003
00004 #include "FWCore/Framework/interface/Frameworkfwd.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007
00008 #include "DataFormats/Common/interface/View.h"
00009 #include "DataFormats/JetReco/interface/Jet.h"
00010 #include "DataFormats/BTauReco/interface/JetTag.h"
00011
00012 class TTree;
00013
00014 class HLTBJet {
00015 public:
00016 HLTBJet();
00017 ~HLTBJet();
00018
00019 void setup(const edm::ParameterSet & config, TTree * tree);
00020 void clear(void);
00021 void analyze(const edm::Handle<edm::View<reco::Jet> > & rawBJets,
00022 const edm::Handle<edm::View<reco::Jet> > & correctedBJets,
00023 const edm::Handle<edm::View<reco::Jet> > & correctedBJetsL1FastJet,
00024 const edm::Handle<edm::View<reco::Jet> > & pfBJets,
00025 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL25,
00026 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL3,
00027 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL25L1FastJet,
00028 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL3L1FastJet,
00029 const edm::Handle<reco::JetTagCollection> & lifetimePFBJetsL3,
00030 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL25SingleTrack,
00031 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL3SingleTrack,
00032 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL25SingleTrackL1FastJet,
00033 const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL3SingleTrackL1FastJet,
00034 const edm::Handle<reco::JetTagCollection> & performanceBJetsL25,
00035 const edm::Handle<reco::JetTagCollection> & performanceBJetsL3,
00036 const edm::Handle<reco::JetTagCollection> & performanceBJetsL25L1FastJet,
00037 const edm::Handle<reco::JetTagCollection> & performanceBJetsL3L1FastJet,
00038 TTree * tree);
00039
00040 private:
00041 void analyseJets(
00042 const edm::View<reco::Jet> & jets);
00043
00044 void analyseCorrectedJets(
00045 const edm::View<reco::Jet> & jets);
00046
00047 void analyseCorrectedJetsL1FastJet(
00048 const edm::View<reco::Jet> & jets);
00049
00050 void analysePFJets(
00051 const edm::View<reco::Jet> & jets);
00052
00053 void analyseLifetime(
00054 const edm::View<reco::Jet> & jets,
00055 const reco::JetTagCollection & tagsL25,
00056 const reco::JetTagCollection & tagsL3);
00057
00058 void analyseLifetimeL1FastJet(
00059 const edm::View<reco::Jet> & jets,
00060 const reco::JetTagCollection & tagsL25,
00061 const reco::JetTagCollection & tagsL3);
00062
00063 void analyseLifetimePF(
00064 const edm::View<reco::Jet> & jets,
00065 const reco::JetTagCollection & tagsL3);
00066
00067 void analyseLifetimeSingleTrack(
00068 const edm::View<reco::Jet> & jets,
00069 const reco::JetTagCollection & tagsL25,
00070 const reco::JetTagCollection & tagsL3);
00071
00072 void analyseLifetimeSingleTrackL1FastJet(
00073 const edm::View<reco::Jet> & jets,
00074 const reco::JetTagCollection & tagsL25,
00075 const reco::JetTagCollection & tagsL3);
00076
00077 void analysePerformance(
00078 const edm::View<reco::Jet> & jets,
00079 const reco::JetTagCollection & tagsL25,
00080 const reco::JetTagCollection & tagsL3);
00081
00082 void analysePerformanceL1FastJet(
00083 const edm::View<reco::Jet> & jets,
00084 const reco::JetTagCollection & tagsL25,
00085 const reco::JetTagCollection & tagsL3);
00086
00087
00088 int NohBJetL2;
00089 float * ohBJetL2Energy;
00090 float * ohBJetL2Et;
00091 float * ohBJetL2Pt;
00092 float * ohBJetL2Eta;
00093 float * ohBJetL2Phi;
00094
00095
00096 int NohBJetL2Corrected;
00097 float * ohBJetL2CorrectedEnergy;
00098 float * ohBJetL2CorrectedEt;
00099 float * ohBJetL2CorrectedPt;
00100 float * ohBJetL2CorrectedEta;
00101 float * ohBJetL2CorrectedPhi;
00102
00103
00104 int NohBJetL2CorrectedL1FastJet;
00105 float * ohBJetL2CorrectedEnergyL1FastJet;
00106 float * ohBJetL2CorrectedEtL1FastJet;
00107 float * ohBJetL2CorrectedPtL1FastJet;
00108 float * ohBJetL2CorrectedEtaL1FastJet;
00109 float * ohBJetL2CorrectedPhiL1FastJet;
00110
00111
00112 int NohpfBJetL2;
00113 float * ohpfBJetL2Energy;
00114 float * ohpfBJetL2Et;
00115 float * ohpfBJetL2Pt;
00116 float * ohpfBJetL2Eta;
00117 float * ohpfBJetL2Phi;
00118
00119
00120 float * ohBJetIPL25Tag;
00121 float * ohBJetIPL3Tag;
00122
00123
00124 float * ohBJetIPL25TagL1FastJet;
00125 float * ohBJetIPL3TagL1FastJet;
00126
00127
00128 float * ohpfBJetIPL3Tag;
00129
00130
00131 float * ohBJetIPL25TagSingleTrack;
00132 float * ohBJetIPL3TagSingleTrack;
00133 float * ohBJetIPL25TagSingleTrackL1FastJet;
00134 float * ohBJetIPL3TagSingleTrackL1FastJet;
00135
00136
00137 int * ohBJetPerfL25Tag;
00138 int * ohBJetPerfL3Tag;
00139
00140 int * ohBJetPerfL25TagL1FastJet;
00141 int * ohBJetPerfL3TagL1FastJet;
00142 };
00143
00144 #endif // HLTrigger_HLTanalyzers_HLTBJet_h