ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/auterman/Demo/PATJetIDAnalyzer/interface/PATJetIDAnalyzer.h
Revision: 1.1.1.1 (vendor branch)
Committed: Mon Feb 25 15:54:04 2008 UTC (17 years, 2 months ago) by auterman
Content type: text/plain
Branch: tex, JetID, Demo
Changes since 1.1: +0 -0 lines
Log Message:
PAT Jet Analyzer

File Contents

# User Rev Content
1 auterman 1.1 // -*- C++ -*-
2     //
3     // Package: PATJetIDAnalyzer
4     // Class: PATJetIDAnalyzer
5     //
6     /**\class PATJetIDAnalyzer PATJetIDAnalyzer.h Demo/PATJetIDAnalyzer/interface/PATJetIDAnalyzer.h
7    
8     Description: <one line class summary>
9    
10     Implementation:
11     <Notes on implementation>
12     */
13     //
14     // Original Author: Christian Autermann
15     // Created: Mon Feb 25 11:33:02 CET 2008
16     // $Id$
17     //
18     //
19    
20    
21     // system include files
22     #include <memory>
23    
24     // user include files
25     #include "FWCore/Framework/interface/Frameworkfwd.h"
26     #include "FWCore/Framework/interface/EDAnalyzer.h"
27    
28     #include "FWCore/Framework/interface/Event.h"
29     #include "FWCore/Framework/interface/MakerMacros.h"
30    
31     #include "FWCore/ParameterSet/interface/ParameterSet.h"
32     //
33     // class declerations
34     //
35     class PtGreater {
36     public:
37     template <typename T> bool operator () (const T& i, const T& j) {
38     return (i.pt() > j.pt());
39     }
40     };
41    
42     class PATJetIDAnalyzer : public edm::EDAnalyzer {
43     public:
44     explicit PATJetIDAnalyzer(const edm::ParameterSet&);
45     ~PATJetIDAnalyzer();
46    
47    
48     private:
49     virtual void beginJob(const edm::EventSetup&) ;
50     virtual void analyze(const edm::Event&, const edm::EventSetup&);
51     virtual void endJob() ;
52     virtual void makeMatchingMaps(edm::Handle<reco::GenJetCollection> GenJets,
53     edm::Handle<reco::CaloJetCollection> CaloJets);
54    
55     // ----------member data ---------------------------
56    
57     //jets from PAT
58     edm::InputTag _patJet;
59     edm::InputTag _patMet;
60    
61     //jets from AOD
62     edm::InputTag _recJet;
63     edm::InputTag _genJet;
64     edm::InputTag _recMet;
65     edm::InputTag _genMet;
66    
67    
68     std::string _hist;
69     double _jetminpt, _jetmaxeta;
70    
71     //CaloJets
72     unsigned static const _njets = 4;
73     TH1F *_jetmult; //total number of jets
74     TH1F *_pt_jet[_njets]; //pt of a specific jet
75     TH1F *_eta_jet[_njets]; //eta
76     TH1F *_phi_jet[_njets]; //phi
77     TH1F *_emfrac_jet[_njets]; //electromagnetic energy fraction
78     TH1F *_hadfrac_jet[_njets]; //hadronic energy fraction
79     TH1F *_n60_jet[_njets]; //number of components containing 60% of the energy
80     TH1F *_n90_jet[_njets]; //number of components containing 90% of the energy
81     TH1F *_area_jet[_njets]; //area covered by the jet's towers
82     //GenJets
83     unsigned static const _ngenjets = 4;
84     TH1F *_genjetmult; //total number of genjets
85     TH1F *_pt_genjet[_ngenjets]; //pt of a specific genjet
86     TH1F *_eta_genjet[_ngenjets]; //eta
87     TH1F *_phi_genjet[_ngenjets]; //phi
88     TH1F *_emfrac_genjet[_ngenjets]; //electromagnetic energy fraction
89     TH1F *_hadfrac_genjet[_ngenjets]; //hadronic energy fraction
90     TH1F *_invisible_genjet[_ngenjets]; //electromagnetic energy fraction
91     TH1F *_aux_genjet[_ngenjets]; //hadronic energy fraction
92     //met
93     TH1F *_met; //missing transverse energy
94     TH1F *_metmult; //size of the met std::vector
95     TH1F *_metx; //missing transverse energy, x-component
96     TH1F *_mety; //missing transverse energy, y-component
97     TH1F *_metsig; //MET significance = sqrt(met)/sum et
98     //genmet
99     TH1F *_genmet; //missing transverse energy
100     TH1F *_genmetmult; //size of the met std::vector
101     TH1F *_genmetx; //missing transverse energy, x-component
102     TH1F *_genmety; //missing transverse energy, y-component
103     //other
104     TH1F *_ht; //sum of all hadronic energy in the event
105     TH1F *_htmet; //sum of all energy, incl. MET in the event
106     TH1F *_dijet; //invariant mass of two leading jets
107     TH1F *_nv; //the "new variable"
108     TH1F *_nv2; //the "new variable 2"
109     TH1F *_genht; //sum of all hadronic energy in the event (gen)
110     TH1F *_genhtmet; //sum of all energy, incl. MET in the event (gen)
111     TH1F *_gendijet; //invariant mass of two leading jets (gen)
112     //matching
113     TH2F *_GenOnCalo_match; //Matching of GenJets on CaloJets
114     TH2F *_CaloOnGen_match; //Matching of Calojets on GenJets
115     TH2F *_GenVsMatched_pt; //Generated vs. Matched quantities
116     TH2F *_GenVsMatched_eta;
117     TH2F *_GenVsMatched_phi;
118     TH1F *_RecoEff_pt; //Reconstruction efficiencies
119     TH1F *_RecoEff_eta;
120     TH1F *_RecoEff_phi;
121     // helper histograms
122     TH1F *_RecoTot_pt;
123     TH1F *_RecoTot_eta;
124     TH1F *_RecoTot_phi;
125    
126     // Matching Map: GenJets -> CaloJets
127     std::map<const reco::GenJet*, const reco::CaloJet*> MatchingMapGen;
128     // Matching Map: CaloJets -> GenJets
129     std::map<const reco::CaloJet*, const reco::GenJet*> MatchingMapJet;
130    
131    
132    
133     };
134    
135     //
136     // constants, enums and typedefs
137     //
138    
139     //
140     // static data member definitions
141     //
142