CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/HLTrigger/HLTanalyzers/interface/HLTBJet.h

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<reco::JetTagCollection> & lifetimeBJetsL25,
00024                const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL3,
00025                const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL25SingleTrack,
00026                const edm::Handle<reco::JetTagCollection> & lifetimeBJetsL3SingleTrack,
00027                const edm::Handle<reco::JetTagCollection> & performanceBJetsL25,
00028                const edm::Handle<reco::JetTagCollection> & performanceBJetsL3,
00029                TTree * tree);
00030 
00031 private:
00032   void analyseJets(
00033       const edm::View<reco::Jet>   & jets);
00034   
00035   void analyseCorrectedJets(
00036       const edm::View<reco::Jet>   & jets);
00037   
00038   void analyseLifetime(
00039       const edm::View<reco::Jet>   & jets, 
00040       const reco::JetTagCollection & tagsL25, 
00041       const reco::JetTagCollection & tagsL3);
00042 
00043   void analyseLifetimeSingleTrack(
00044       const edm::View<reco::Jet>   & jets, 
00045       const reco::JetTagCollection & tagsL25, 
00046       const reco::JetTagCollection & tagsL3);
00047 
00048   void analysePerformance(
00049       const edm::View<reco::Jet>   & jets, 
00050       const reco::JetTagCollection & tagsL25, 
00051       const reco::JetTagCollection & tagsL3);
00052 
00053   // set of variables for uncorrected L2 jets
00054   int NohBJetL2;
00055   float * ohBJetL2Energy;
00056   float * ohBJetL2Et;
00057   float * ohBJetL2Pt;
00058   float * ohBJetL2Eta;
00059   float * ohBJetL2Phi;
00060               
00061   // set of variables for corrected L2 jets
00062   int NohBJetL2Corrected;
00063   float * ohBJetL2CorrectedEnergy;
00064   float * ohBJetL2CorrectedEt;
00065   float * ohBJetL2CorrectedPt;
00066   float * ohBJetL2CorrectedEta;
00067   float * ohBJetL2CorrectedPhi;
00068   
00069   // set of variables for lifetime-based b-tag
00070   float * ohBJetIPL25Tag;
00071   float * ohBJetIPL3Tag;
00072 
00073   // set of variables for lifetime-based b-tag Single Track
00074   float * ohBJetIPL25TagSingleTrack;
00075   float * ohBJetIPL3TagSingleTrack;
00076   
00077   // set of variables for b-tagging performance measurements
00078   int   * ohBJetPerfL25Tag;         // do not optimize 
00079   int   * ohBJetPerfL3Tag;          // do not optimize
00080 };
00081 
00082 #endif // HLTrigger_HLTanalyzers_HLTBJet_h