CMS 3D CMS Logo

L25TauAnalyzer.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    L25TauAnalyzer
00004 // Class:      L25TauAnalyzer
00005 // 
00013 //
00014 // Original Author:  Eduardo Luiggi
00015 //         Created:  Fri Apr  4 16:37:44 CDT 2008
00016 // $Id: L25TauAnalyzer.h,v 1.6 2008/10/03 19:09:11 bachtis Exp $
00017 //
00018 //
00019 
00020 
00021 // system include files
00022 #include <memory>
00023 
00024 // user include files
00025 #include "FWCore/Framework/interface/Frameworkfwd.h"
00026 #include "FWCore/Framework/interface/EDAnalyzer.h"
00027 #include "FWCore/Framework/interface/Event.h"
00028 #include "FWCore/Framework/interface/MakerMacros.h"
00029 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00030 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00031 #include "FWCore/ServiceRegistry/interface/Service.h"
00032 #include "DataFormats/Common/interface/Ref.h"
00033 #include "DataFormats/JetReco/interface/CaloJet.h"
00034 #include "DataFormats/JetReco/interface/JetTracksAssociation.h"
00035 #include "DataFormats/TrackReco/interface/Track.h"
00036 #include "DataFormats/BTauReco/interface/IsolatedTauTagInfo.h"
00037 #include "DataFormats/Math/interface/LorentzVector.h"
00038 #include "DataFormats/Math/interface/Vector3D.h"
00039 #include "DataFormats/JetReco/interface/GenJet.h"
00040 #include "HepMC/GenParticle.h"
00041 #include "TLorentzVector.h"
00042 #include <vector>
00043 #include <string>
00044 #include <TTree.h>
00045 #include <TFile.h>
00046 #include "TH1.h"
00047 
00048 
00049   typedef math::XYZTLorentzVectorD   LV;
00050   typedef std::vector<LV>            LVColl;
00051 
00052 
00053 
00054 
00055   struct MatchElementL25 {
00056     bool matched;
00057     double deltar;
00058     double mcEta;
00059     double mcEt;
00060 
00061   };
00062 
00063 class L25TauAnalyzer : public edm::EDAnalyzer {
00064    public:
00065       explicit L25TauAnalyzer(const edm::ParameterSet&);
00066       ~L25TauAnalyzer();
00067 
00068    private:
00069 
00070       virtual void beginJob(const edm::EventSetup&) ;
00071       virtual void analyze(const edm::Event&, const edm::EventSetup&);
00072       virtual void endJob() ;
00073       MatchElementL25 match(const reco::Jet&,const LVColl&);
00074       float trackDrRMS(const reco::IsolatedTauTagInfo&,const reco::TrackRefVector&);
00075 
00076       edm::InputTag jetTagSrc_;
00077       edm::InputTag jetMCTagSrc_;
00078       std::string rootFile_;
00079       bool signal_;
00080       float minTrackPt_;
00081       float signalCone_;
00082       float isolationCone_;
00083 
00084 
00085       TFile *l25file;
00086       TTree *l25tree;
00087 
00088       int numPixTrkInJet;
00089       int numQPixTrkInJet;
00090       int numQPixTrkInSignalCone;
00091       int numQPixTrkInAnnulus;
00092       float jetEt;
00093       float jetEta;
00094       float jetMCEt;
00095       float jetMCEta;
00096       float trkDrRMS;
00097       float trkDrRMSA;
00098       float leadSignalTrackPt;
00099       float leadTrkJetDeltaR; 
00100       bool hasLeadTrk;
00101 };

Generated on Tue Jun 9 17:38:05 2009 for CMSSW by  doxygen 1.5.4