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

# Content
1 #ifndef MinBiasAnalyzer_h
2 #define MinBiasAnalyzer_h
3
4 // -*- 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 // $Id: MinBiasAnalyzer.h,v 1.1 2010/03/09 11:26:03 heath Exp $
20 //
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 #endif