CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/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<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   // set of variables for uncorrected L2 jets
00088   int NohBJetL2;
00089   float * ohBJetL2Energy;
00090   float * ohBJetL2Et;
00091   float * ohBJetL2Pt;
00092   float * ohBJetL2Eta;
00093   float * ohBJetL2Phi;
00094               
00095   // set of variables for corrected L2 jets
00096   int NohBJetL2Corrected;
00097   float * ohBJetL2CorrectedEnergy;
00098   float * ohBJetL2CorrectedEt;
00099   float * ohBJetL2CorrectedPt;
00100   float * ohBJetL2CorrectedEta;
00101   float * ohBJetL2CorrectedPhi;
00102   
00103   // set of variables for corrected L2 jets L1FastJet
00104   int NohBJetL2CorrectedL1FastJet;
00105   float * ohBJetL2CorrectedEnergyL1FastJet;
00106   float * ohBJetL2CorrectedEtL1FastJet;
00107   float * ohBJetL2CorrectedPtL1FastJet;
00108   float * ohBJetL2CorrectedEtaL1FastJet;
00109   float * ohBJetL2CorrectedPhiL1FastJet;
00110   
00111   // set of variables for uncorrected L2 PF jets
00112   int NohpfBJetL2;
00113   float * ohpfBJetL2Energy;
00114   float * ohpfBJetL2Et;
00115   float * ohpfBJetL2Pt;
00116   float * ohpfBJetL2Eta;
00117   float * ohpfBJetL2Phi;
00118               
00119   // set of variables for lifetime-based b-tag
00120   float * ohBJetIPL25Tag;
00121   float * ohBJetIPL3Tag;
00122 
00123   // set of variables for lifetime-based b-tag L1FastJet
00124   float * ohBJetIPL25TagL1FastJet;
00125   float * ohBJetIPL3TagL1FastJet;
00126 
00127   // set of variables for lifetime-based b-tag PF jets
00128   float * ohpfBJetIPL3Tag;
00129   
00130   // set of variables for lifetime-based b-tag Single Track
00131   float * ohBJetIPL25TagSingleTrack;
00132   float * ohBJetIPL3TagSingleTrack;
00133   float * ohBJetIPL25TagSingleTrackL1FastJet;
00134   float * ohBJetIPL3TagSingleTrackL1FastJet;
00135   
00136   // set of variables for b-tagging performance measurements
00137   int   * ohBJetPerfL25Tag;         // do not optimize 
00138   int   * ohBJetPerfL3Tag;          // do not optimize
00139   // set of variables for b-tagging performance measurements L1FastJet
00140   int   * ohBJetPerfL25TagL1FastJet;         // do not optimize 
00141   int   * ohBJetPerfL3TagL1FastJet;          // do not optimize
00142 };
00143 
00144 #endif // HLTrigger_HLTanalyzers_HLTBJet_h