ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/lucieg/AnalyzerForTests/Analyzer/plugins/Analyzer.cc
Revision: 1.1
Committed: Thu Jul 7 16:21:20 2011 UTC (13 years, 9 months ago) by lucieg
Content type: text/plain
Branch: MAIN
CVS Tags: logger_lucieg_22Nov11-00h31m40s, logger_lucieg_11Jul11-14h37m27s, HEAD
Log Message:
resync

File Contents

# Content
1
2 // -*- C++ -*-
3 //
4 // Package: Analyzer
5 // Class: Analyzer
6 //
7 /**\class Analyzer Analyzer.cc /Analyzer/src/Analyzer.cc
8
9 Description: [one line class summary]
10
11 Implementation:
12 [Notes on implementation]
13 */
14 //
15 // Original Author: "Lucie Gauthier"
16 // Created: Fri Ap 14 2011
17 // $Id: Analyzer.cc,v 1.13 2011/04/21 20:17:58 lucieg Exp $
18 //
19 //
20
21 // user include files
22 #include "AnalyzerForTests/Analyzer/plugins/Analyzer.h"
23
24 using namespace std;
25 using namespace edm;
26 using namespace pat;
27
28 //
29 // constructors and destructor
30 //
31 Analyzer::Analyzer(const edm::ParameterSet& iConfig)
32
33 {
34
35 inputTagElectrons_
36 = iConfig.getParameter<InputTag>("patElectrons");
37
38 inputTagCmgElectrons_
39 = iConfig.getParameter<InputTag>("cmgElectrons");
40
41
42 fOutputFileName_ = iConfig.getUntrackedParameter<string>("HistOutFile");
43
44 }
45
46
47 Analyzer::~Analyzer()
48 {
49
50 }
51
52
53 //
54 // member functions
55 //
56 // ------------ pSetup called once each job just before starting event loop ------------
57 void
58 Analyzer::beginJob()
59 {
60 //Create output file
61 outputFile_ = new TFile( fOutputFileName_.c_str(), "RECREATE" );
62
63 }
64
65 // ------------ method called to for each event ------------
66 void
67 Analyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
68 {
69
70 /*****Tree variables initialization******/
71
72 //get some pat electrons
73 Handle<pat::ElectronCollection> eleColl;
74 iEvent.getByLabel(inputTagElectrons_, eleColl);
75
76
77 ElectronCollection::const_iterator ele = eleColl -> begin();
78 int eleIndex = 0;
79
80 for(; ele != eleColl -> end(); ele++, eleIndex++){
81 // std::cout << "----------------pat ele--------------"<<endl;
82 // std::cout << "Electron ID: 95relIso=" << ele->electronID("simpleEleId95relIso")
83 // << " 90relIso=" << ele->electronID("simpleEleId90relIso")
84 // << " 85relIso=" << ele->electronID("simpleEleId85relIso")
85 // << " 80relIso=" << ele->electronID("simpleEleId80relIso")
86 // << " 70relIso=" << ele->electronID("simpleEleId70relIso")
87 // << " 60relIso=" << ele->electronID("simpleEleId60relIso") << endl
88 // << " eidVeryLoose=" << ele->electronID("eidVeryLoose")
89 // << " eidLoose=" << ele->electronID("eidLoose")
90 // << " eidMedium=" << ele->electronID("eidMedium")
91 // << " eidTight=" << ele->electronID("eidTight")
92 // << " eidSuperTight="<< ele->electronID("eidSuperTight")
93 // << std::endl;
94
95 // std::cout << "eidLoose =" << eIDmap[&electrons[i]]<<endl;
96
97 }// end loop
98
99 //get some cmg ele
100 Handle<std::vector< cmg::Electron > > cmgEleColl;
101 iEvent.getByLabel(inputTagCmgElectrons_, cmgEleColl);
102 // Handle::<View<cmg::Electron> > cmgEles;
103 // iEvent.getByLabel(inputTagCmgElectrons_, cmgEles);
104
105 std::vector< cmg::Electron >::const_iterator cmgEle = cmgEleColl -> begin();
106
107
108 for(; cmgEle != cmgEleColl -> end(); cmgEle++){
109
110
111 // // // for(unsigned int cmgEle = 0; cmgEle < cmgEleColl ->size() ; cmgEle++){
112 // // for(view::const_iterator it = cmgEleColl->begin(); it != cmgEleColl->end(); ++it) {
113 std::cout << "----------------cmg ele--------------"<<endl;
114 std::cout << "Electron ID: 95relIso=" << (*cmgEle -> sourcePtr())-> electronID("simpleEleId95relIso")
115
116 // << " 90relIso=" << (*cmgEle -> sourcePtr())->electronID("simpleEleId90relIso")
117 // << " 90relIso=" << (*cmgEle -> sourcePtr())->electronID("simpleEleId90relIso")
118 // << " 85relIso=" << (*cmgEle -> sourcePtr())->electronID("simpleEleId85relIso")
119 // << " 80relIso=" << (*cmgEle -> sourcePtr())->electronID("simpleEleId80relIso")
120 // << " 70relIso=" << (*cmgEle -> sourcePtr())->electronID("simpleEleId70relIso")
121 // << " 60relIso=" << (*cmgEle -> sourcePtr())->electronID("simpleEleId60relIso") << endl
122 // << " eidVeryLoose=" << (*cmgEle -> sourcePtr())->electronID("eidVeryLoose")
123 // << " eidLoose=" << (*cmgEle -> sourcePtr())->electronID("eidLoose")
124 // << " eidMedium=" << (*cmgEle -> sourcePtr())->electronID("eidMedium")
125 // << " eidTight=" << (*cmgEle -> sourcePtr())->electronID("eidTight")
126 // << " eidSuperTight="<< (*cmgEle -> sourcePtr())->electronID("eidSuperTight")
127 << std::endl;
128
129 std::cout << (*cmgEle -> sourcePtr())-> electronID("simpleEleId95relIso") << " "
130 << cmgEle -> getSelection("cuts_wp95relIso")<<endl;
131
132
133 }// end loop
134
135
136 }
137
138
139
140
141 // ------------ method called once each job just after ending the event loop ------------
142 void
143 Analyzer::endJob() {
144
145 outputFile_ -> cd();
146 outputFile_ -> Write();
147
148 }
149
150 //Write this as a plug-in
151 DEFINE_FWK_MODULE(Analyzer);
152