ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/GregHeath/mbGenAnalysis/interface/MinBiasAnalyzer.h
Revision: 1.2
Committed: Tue Mar 23 15:04:46 2010 UTC (15 years, 1 month ago) by heath
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +5 -1 lines
Log Message:
Adding guards against multiple inclusion

File Contents

# User Rev Content
1 heath 1.2 #ifndef MinBiasAnalyzer_h
2     #define MinBiasAnalyzer_h
3    
4 heath 1.1 // -*- C++ -*-
5     //
6     // Package: MinBiasAnalyzer
7     // Class: MinBiasAnalyzer
8     //
9     /**\class MinBiasAnalyzer MinBiasAnalyzer.cc ParticleFlowAnalysis/MinBiasAnalyzer/src/MinBiasAnalyzer.cc
10    
11     Description: <one line class summary>
12    
13     Implementation:
14     <Notes on implementation>
15     */
16     //
17     // Original Author: Gregory Heath
18     // Created: Tue May 5 11:54:25 CEST 2009
19 heath 1.2 // $Id: MinBiasAnalyzer.h,v 1.1 2010/03/09 11:26:03 heath Exp $
20 heath 1.1 //
21     //
22    
23    
24     // system include files
25     #include <memory>
26    
27     // user include files
28     #include "FWCore/Framework/interface/Frameworkfwd.h"
29     #include "FWCore/Framework/interface/EDAnalyzer.h"
30    
31     #include "FWCore/Framework/interface/Event.h"
32     #include "FWCore/Framework/interface/MakerMacros.h"
33    
34     #include "FWCore/ParameterSet/interface/ParameterSet.h"
35    
36     #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
37     #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h"
38    
39     #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
40    
41     #include "TH1D.h"
42     #include "TH2D.h"
43     #include "TH3D.h"
44     #include <map>
45     #include <string>
46     //
47     // class declaration
48     //
49    
50     class MinBiasAnalyzer : public edm::EDAnalyzer {
51     public:
52     explicit MinBiasAnalyzer(const edm::ParameterSet&);
53     ~MinBiasAnalyzer();
54    
55    
56     private:
57     virtual void beginJob() ;
58     virtual void analyze(const edm::Event&, const edm::EventSetup&);
59     virtual void endJob() ;
60    
61     // Define a type consisting of a candidate and some extra info
62     // Just an integer flag in the first instance
63     enum flagTypes{NULL_FLAG, TRACK_ONLY, ISO_HCAL_CLUSTER, ISO_ECAL_CLUSTER, ISO_EHCAL_CLUSTER, HCAL_CLUSTER, ECAL_CLUSTER, EHCAL_CLUSTER,
64     MULTIPLE_TRACKS, MULTIPLE_CLUSTERS, OTHER_BLOCKS, BAD_BLOCKS, NO_ELEMENTS, NUMBER_OF_FLAGS};
65     typedef std::pair< reco::PFCandidate, unsigned > flaggedCandidate;
66     typedef std::vector< flaggedCandidate > flaggedCandidateList;
67     flaggedCandidateList barrelHadrons(const reco::PFCandidateCollection* pfCands);
68    
69     void findTriggerWeight(const edm::Event& iEvent);
70     int pIdCode(int pdgId, int q);
71    
72     // ----------member data ---------------------------
73     edm::InputTag pfCandidateTag_;
74     edm::InputTag gpCandidateTag_;
75     edm::InputTag triggerResultsTag_;
76     std::vector<std::string> gpTypeList_;
77     std::map<std::string, edm::InputTag> gpBarrelSelectionTag_;
78     std::map<std::string, edm::InputTag> gpBarrelPFlowMatchTag_;
79    
80     std::map<std::string,TH1D*> histocontainer_;
81     std::map<std::string,TH2D*> hist2container_;
82     std::map<std::string,TH3D*> hist3container_;
83    
84     std::map<int, int> pdgIdsFound_;
85     std::vector< std::pair<double, double> > ptCutsForHist_;
86    
87     // trigger stuff
88     double triggerWeight_;
89    
90     std::map<std::string, int> triggerNamesWithPrescale_;
91    
92     HLTConfigProvider hltConfig_;
93    
94     };
95    
96 heath 1.2 #endif