CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/HLTriggerOffline/Tau/interface/L2TauAnalyzer.h

Go to the documentation of this file.
00001 // Original Author:  Michail Bachtis
00002 //         Created:  Sun Jan 20 20:10:02 CST 2008
00003 // University of Wisconsin-Madison
00004 
00005 
00006 // system include files
00007 #include <memory>
00008 
00009 // user include files
00010 #include "FWCore/Framework/interface/Frameworkfwd.h"
00011 #include "FWCore/Framework/interface/EDAnalyzer.h"
00012 #include "FWCore/Framework/interface/Event.h"
00013 #include "FWCore/Framework/interface/MakerMacros.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include "FWCore/Utilities/interface/InputTag.h"
00016 #include "DataFormats/JetReco/interface/CaloJet.h"
00017 #include "DataFormats/TauReco/interface/L2TauInfoAssociation.h"
00018 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00019 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00020 #include "DataFormats/Math/interface/LorentzVector.h"
00021 #include <string>
00022 #include <TTree.h>
00023 #include <TFile.h>
00024 
00025 typedef math::XYZTLorentzVectorD   LV;
00026 typedef std::vector<LV>            LVColl;
00027 
00028 //Matching struct
00029 
00030 
00031 struct MatchElementL2 {
00032   bool matched;
00033   double deltar;
00034   double mcEta;
00035   double mcEt;
00036 };
00037 
00038 
00039 class L2TauAnalyzer : public edm::EDAnalyzer {
00040    public:
00041       explicit L2TauAnalyzer(const edm::ParameterSet&);
00042       ~L2TauAnalyzer();
00043 
00044    private:
00045       virtual void beginJob() ;
00046       virtual void analyze(const edm::Event&, const edm::EventSetup&);
00047       virtual void endJob() ;
00048       //Parameters to read
00049       edm::InputTag  l2TauInfoAssoc_; //Path to analyze
00050       edm::InputTag  l1Taus_; //Path to analyze
00051       edm::InputTag  l1Jets_; //Path to analyze
00052       std::string rootFile_;          //Output File Name
00053       bool IsSignal_;                 //Flag to tell the analyzer if it is signal OR QCD
00054       edm::InputTag mcColl_;          // input products from HLTMcInfo
00055 
00056       
00057       double matchDR_;
00058 
00059       int cl_Nclusters;
00060       float  ecalIsol_Et,towerIsol_Et,cl_etaRMS,cl_phiRMS,cl_drRMS,MCeta,MCet,seedTowerEt,JetEt,JetEta,L1et,L1eta,jetEMF; 
00061       TFile *l2file;//File to store the histos...
00062       TTree *l2tree;
00063 
00064       MatchElementL2 match(const reco::Jet&,const LVColl&);//See if this Jet Is Matched
00065       MatchElementL2 match(const reco::Jet&,const l1extra::L1JetParticleCollection&);//See if this Jet Is Matched
00066 
00067 };
00068 
00069