ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MyCode/Photon/interface/Photon.h
Revision: 1.1
Committed: Sat Nov 24 11:51:39 2007 UTC (17 years, 5 months ago) by ssimon
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
my photon object package

File Contents

# User Rev Content
1 ssimon 1.1 // -*- C++ -*-
2     //
3     // Package: Photon
4     // Class: Photon
5     //
6     /**\class Photon Photon.cc MyCode/Photon/src/Photon.cc
7    
8     Description: <one line class summary>
9    
10     Implementation:
11     <Notes on implementation>
12     */
13     //
14     // Original Author: Sean Gregory Simon
15     // Created: Fri Nov 16 09:36:56 CET 2007
16     // $Id$
17     //
18     //
19    
20     /*
21     #include "CMS1/Base/interface/BaseStreamer.h"
22     #include "CMS1/Base/interface/PhotonUtil.h"
23     #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
24     #include "DataFormats/EgammaReco/interface/ClusterShape.h"
25     #include "DataFormats/EgammaReco/interface/BasicCluster.h"
26     #include "DataFormats/EgammaReco/interface/BasicClusterShapeAssociation.h"
27     #include "DataFormats/TrackReco/interface/Track.h"
28     #include "DataFormats/VertexReco/interface/Vertex.h"
29     #include "DataFormats/VertexReco/interface/VertexFwd.h"
30     #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
31     #include "SimDataFormats/HepMCProduct/interface/HepMCProduct.h"
32    
33     #include "FWCore/Framework/interface/Frameworkfwd.h"
34     #include "FWCore/Framework/interface/EDAnalyzer.h"
35     #include "FWCore/Framework/interface/Event.h"
36     #include "FWCore/Framework/interface/MakerMacros.h"
37     #include "FWCore/ParameterSet/interface/ParameterSet.h"
38     #include "FWCore/ParameterSet/interface/InputTag.h"
39     #include "DataFormats/Math/interface/Point3D.h"
40     #include "Math/VectorUtil.h"
41     */
42     // system include files
43     #include <memory>
44     #include <cmath>
45     #include "Math/VectorUtil.h"
46     #include "DataFormats/Math/interface/LorentzVector.h"
47    
48    
49     #include "DataFormats/EgammaCandidates/interface/Photon.h"
50     #include "DataFormats/EgammaCandidates/interface/ConvertedPhoton.h"
51    
52     #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
53     #include "DataFormats/EgammaReco/interface/SuperCluster.h"
54     #include "DataFormats/EgammaReco/interface/ClusterShape.h"
55     #include "DataFormats/EgammaReco/interface/BasicClusterShapeAssociation.h"
56     #include "DataFormats/TrackReco/interface/Track.h"
57     #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
58     #include "DataFormats/VertexReco/interface/Vertex.h"
59     #include "DataFormats/VertexReco/interface/VertexFwd.h"
60    
61     // user include files
62    
63     //
64     // class decleration
65     //
66     namespace mycode {
67     class Photon {
68     public:
69     Photon();
70     virtual ~Photon();
71    
72     // Photon Variables
73     float pt();
74     void setpt(float);
75     float et();
76     void setet(float);
77     float eta();
78     void seteta(float);
79     float phi();
80     void setphi(float);
81     reco::SuperClusterRef superCluster();
82     void setsuperCluster(reco::SuperClusterRef);
83     math::XYZVector momentum();
84     void setmomentum(math::XYZVector);
85     // MC variables
86     float MCpt();
87     void setMCpt(float);
88     float MCet();
89     void setMCet(float);
90     float MCeta();
91     void setMCeta(float);
92     float MCphi();
93     void setMCphi(float);
94     int MCid();
95     void setMCid(int);
96     float MCdeltaR();
97     void setMCdeltaR(float);
98     math::XYZVector MCmomentum();
99     void setMCmomentum(math::XYZVector);
100     // Ecal Variables
101     float r9();
102     void setr9(float);
103     float r19();
104     void setr19(float);
105     float eMax();
106     void seteMax(float);
107     float e3x3();
108     void sete3x3(float);
109     float e5x5();
110     void sete5x5(float);
111     float sigmaEtaEta();
112     void setsigmaEtaEta(float);
113     float sigmaPhiPhi();
114     void setsigmaPhiPhi(float);
115     float sigmaEtaPhi();
116     void setsigmaEtaPhi(float);
117     // Tracker Variables
118     int ntk1Cone();
119     void setntk1Cone(int);
120     int ntk2Cone();
121     void setntk2Cone(int);
122     float sumTrkPt1Cone();
123     void setsumTrkPt1Cone(float);
124     float sumTrkPt2Cone();
125     void setsumTrkPt2Cone(float);
126     float dRtrk1();
127     void setdRtrk1(float);
128     float dRtrk2();
129     void setdRtrk2(float);
130     float dRtrk3();
131     void setdRtrk3(float);
132     // Hcal Variables
133     float sumEtHcalDeltaR3();
134     void setsumEtHcalDeltaR3(float);
135     float sumEtHcalDeltaR4();
136     void setsumEtHcalDeltaR4(float);
137     float sumEtOverEtHcalDeltaR3();
138     void setsumEtOverEtHcalDeltaR3(float);
139     float sumEtOverEtHcalDeltaR4();
140     void setsumEtOverEtHcalDeltaR4(float);
141     float orcaHoverE();
142     void setorcaHoverE(float);
143    
144    
145    
146     void getPhoton( const reco::Photon *recoPhoton );
147     void getEcalVars( edm::Handle<reco::BasicClusterShapeAssociationCollection> barrelClShp,
148     edm::Handle<reco::BasicClusterShapeAssociationCollection> endcapClShp );
149     void getTrackerVars( edm::Handle<reco::TrackCollection> tracks );
150     void getHcalVars( edm::Handle<edm::SortedCollection<CaloTower> > caloTowers );
151    
152     float deltaR(float,float);
153    
154     private:
155     // Photon Variables
156     float *pt_;
157     float *et_;
158     float *eta_;
159     float *phi_;
160     reco::SuperClusterRef *sclRef_;
161     math::XYZVector *momentum_;
162     // MC Variables
163     float *MCpt_;
164     float *MCet_;
165     float *MCeta_;
166     float *MCphi_;
167     int *MCid_;
168     float *MCdeltaR_;
169     math::XYZVector *MCmomentum_;
170     // Ecal Variables
171     float *r9_;
172     float *r19_;
173     float *eMax_;
174     float *e3x3_;
175     float *e5x5_;
176     float *sigmaEtaEta_;
177     float *sigmaPhiPhi_;
178     // Tracker Variables
179     int *ntk1Cone_;
180     int *ntk2Cone_;
181     float *sumTrkPt1Cone_;
182     float *sumTrkPt2Cone_;
183     float *dRtrk1_;
184     float *dRtrk2_;
185     float *dRtrk3_;
186     // Hcal Variables
187     float *sumEtHcalDeltaR3_;
188     float *sumEtHcalDeltaR4_;
189     float *sumEtOverEtHcalDeltaR3_;
190     float *sumEtOverEtHcalDeltaR4_;
191     float *orcaHoverE_;
192     };
193    
194    
195     typedef std::vector<mycode::Photon*> Photons;
196     typedef std::vector<mycode::Photon*>::iterator PhotonIterator;
197    
198     }
199     //
200     // constructors and destructor
201     //
202     mycode::Photon::Photon()
203     {
204     // Photon Variables
205     pt_ = new float;*pt_ = -99;
206     et_ = new float;*et_ = -99;
207     eta_ = new float;*eta_ = -99;
208     phi_ = new float;*phi_ = -99;
209     sclRef_ = new reco::SuperClusterRef;
210     momentum_ = new math::XYZVector;
211     // MC Variables
212     MCpt_ = new float;*pt_ = -99;
213     MCet_ = new float;*et_ = -99;
214     MCeta_ = new float;*eta_ = -99;
215     MCphi_ = new float;*phi_ = -99;
216     MCid_ = new int;*MCid_ = -99;
217     MCdeltaR_ = new float;*MCdeltaR_ = +999;
218     MCmomentum_ = new math::XYZVector;
219     // Ecal Variables
220     r9_ = new float;*r9_ = -99;
221     r19_ = new float;*r19_ = -99;
222     eMax_ = new float;*eMax_ = -99;
223     e3x3_ = new float;*e3x3_ = -99;
224     e5x5_ = new float;*e5x5_ = -99;
225     sigmaEtaEta_ = new float;*sigmaEtaEta_ = -99;
226     sigmaPhiPhi_ = new float;*sigmaPhiPhi_ = -99;
227     // Tracker Variables
228     ntk1Cone_ = new int;*ntk1Cone_ = -99;
229     ntk2Cone_ = new int;*ntk2Cone_ = -99;
230     sumTrkPt1Cone_ = new float;*sumTrkPt1Cone_ = -99;
231     sumTrkPt2Cone_ = new float;*sumTrkPt2Cone_ = -99;
232     dRtrk1_ = new float;*dRtrk1_ = -99;
233     dRtrk2_ = new float;*dRtrk2_ = -99;
234     dRtrk3_ = new float;*dRtrk3_ = -99;
235     // Hcal Variables
236     sumEtHcalDeltaR3_ = new float;*sumEtHcalDeltaR3_ = -99;
237     sumEtHcalDeltaR4_ = new float;*sumEtHcalDeltaR4_ = -99;
238     sumEtOverEtHcalDeltaR3_ = new float;*sumEtOverEtHcalDeltaR3_ = -99;
239     sumEtOverEtHcalDeltaR4_ = new float;*sumEtOverEtHcalDeltaR4_ = -99;
240     orcaHoverE_ = new float;*orcaHoverE_ = -99;
241     }
242    
243     mycode::Photon::~Photon() {
244     // Photon Variables
245     delete pt_;
246     delete et_;
247     delete eta_;
248     delete phi_;
249     delete sclRef_;
250     delete momentum_;
251     // MC Variables
252     delete MCpt_;
253     delete MCet_;
254     delete MCeta_;
255     delete MCphi_;
256     delete MCid_;
257     delete MCdeltaR_;
258     delete MCmomentum_;
259     // Ecal Variables
260     delete r9_;
261     delete r19_;
262     delete eMax_;
263     delete e3x3_;
264     delete e5x5_;
265     delete sigmaEtaEta_;
266     delete sigmaPhiPhi_;
267     // Tracker Variables
268     delete ntk1Cone_;
269     delete ntk2Cone_;
270     delete sumTrkPt1Cone_;
271     delete sumTrkPt2Cone_;
272     delete dRtrk1_;
273     delete dRtrk2_;
274     delete dRtrk3_;
275     // Hcal Variables
276     delete sumEtHcalDeltaR3_;
277     delete sumEtHcalDeltaR4_;
278     delete sumEtOverEtHcalDeltaR3_;
279     delete sumEtOverEtHcalDeltaR4_;
280     delete orcaHoverE_;
281     }
282     // Photon Variables
283     float mycode::Photon::pt() { return *pt_;}
284     void mycode::Photon::setpt(float setval) { *pt_ = setval;}
285     float mycode::Photon::et() { return *et_;}
286     void mycode::Photon::setet(float setval) { *et_ = setval;}
287     float mycode::Photon::eta() { return *eta_;}
288     void mycode::Photon::seteta(float setval) { *eta_ = setval;}
289     float mycode::Photon::phi() { return *phi_;}
290     void mycode::Photon::setphi(float setval) { *phi_ = setval;}
291     reco::SuperClusterRef mycode::Photon::superCluster() { return *sclRef_;}
292     void mycode::Photon::setsuperCluster(reco::SuperClusterRef setval) { *sclRef_ = setval;}
293     math::XYZVector mycode::Photon::momentum() { return *momentum_;}
294     void mycode::Photon::setmomentum(math::XYZVector setval) { *momentum_ = setval;}
295     // MC Variables
296     float mycode::Photon::MCpt() { return *MCpt_;}
297     void mycode::Photon::setMCpt(float setval) { *MCpt_ = setval;}
298     float mycode::Photon::MCet() { return *MCet_;}
299     void mycode::Photon::setMCet(float setval) { *MCet_ = setval;}
300     float mycode::Photon::MCeta() { return *MCeta_;}
301     void mycode::Photon::setMCeta(float setval) { *MCeta_ = setval;}
302     float mycode::Photon::MCphi() { return *MCphi_;}
303     void mycode::Photon::setMCphi(float setval) { *MCphi_ = setval;}
304     int mycode::Photon::MCid() { return *MCid_;}
305     void mycode::Photon::setMCid(int setval) { *MCid_ = setval;}
306     float mycode::Photon::MCdeltaR() { return *MCdeltaR_;}
307     void mycode::Photon::setMCdeltaR(float setval) { *MCdeltaR_ = setval;}
308     math::XYZVector mycode::Photon::MCmomentum() { return *MCmomentum_;}
309     void mycode::Photon::setMCmomentum(math::XYZVector setval) { *MCmomentum_ = setval;}
310     // Ecal Variables
311     float mycode::Photon::r9() { return *r9_;}
312     void mycode::Photon::setr9(float setval) { *r9_ = setval;}
313     float mycode::Photon::r19() { return *r19_;}
314     void mycode::Photon::setr19(float setval) { *r19_ = setval;}
315     float mycode::Photon::eMax() { return *eMax_;}
316     void mycode::Photon::seteMax(float setval) { *eMax_ = setval;}
317     float mycode::Photon::e3x3() { return *e3x3_;}
318     void mycode::Photon::sete3x3(float setval) { *e3x3_ = setval;}
319     float mycode::Photon::e5x5() { return *e5x5_;}
320     void mycode::Photon::sete5x5(float setval) { *e5x5_ = setval;}
321     float mycode::Photon::sigmaEtaEta() { return *sigmaEtaEta_;}
322     void mycode::Photon::setsigmaEtaEta(float setval) { *sigmaEtaEta_ = setval;}
323     float mycode::Photon::sigmaPhiPhi() { return *sigmaPhiPhi_;}
324     void mycode::Photon::setsigmaPhiPhi(float setval) { *sigmaPhiPhi_ = setval;}
325     // Tracker Variables
326     int mycode::Photon::ntk1Cone() { return *ntk1Cone_;}
327     void mycode::Photon::setntk1Cone(int setval) { *ntk1Cone_ = setval;}
328     int mycode::Photon::ntk2Cone() { return *ntk2Cone_;}
329     void mycode::Photon::setntk2Cone(int setval) { *ntk2Cone_ = setval;}
330     float mycode::Photon::sumTrkPt1Cone() { return *sumTrkPt1Cone_;}
331     void mycode::Photon::setsumTrkPt1Cone(float setval) { *sumTrkPt1Cone_ = setval;}
332     float mycode::Photon::sumTrkPt2Cone() { return *sumTrkPt2Cone_;}
333     void mycode::Photon::setsumTrkPt2Cone(float setval) { *sumTrkPt2Cone_ = setval;}
334     float mycode::Photon::dRtrk1() { return *dRtrk1_;}
335     void mycode::Photon::setdRtrk1(float setval) { *dRtrk1_ = setval;}
336     float mycode::Photon::dRtrk2() { return *dRtrk2_;}
337     void mycode::Photon::setdRtrk2(float setval) { *dRtrk2_ = setval;}
338     float mycode::Photon::dRtrk3() { return *dRtrk3_;}
339     void mycode::Photon::setdRtrk3(float setval) { *dRtrk3_ = setval;}
340     // Hcal Variables
341     float mycode::Photon::sumEtHcalDeltaR3() { return *sumEtHcalDeltaR3_;}
342     void mycode::Photon::setsumEtHcalDeltaR3(float setval) { *sumEtHcalDeltaR3_ = setval;}
343     float mycode::Photon::sumEtHcalDeltaR4() { return *sumEtHcalDeltaR4_;}
344     void mycode::Photon::setsumEtHcalDeltaR4(float setval) { *sumEtHcalDeltaR4_ = setval;}
345     float mycode::Photon::sumEtOverEtHcalDeltaR3() { return *sumEtOverEtHcalDeltaR3_;}
346     void mycode::Photon::setsumEtOverEtHcalDeltaR3(float setval) { *sumEtOverEtHcalDeltaR3_ = setval;}
347     float mycode::Photon::sumEtOverEtHcalDeltaR4() { return *sumEtOverEtHcalDeltaR4_;}
348     void mycode::Photon::setsumEtOverEtHcalDeltaR4(float setval) { *sumEtOverEtHcalDeltaR4_ = setval;}
349     float mycode::Photon::orcaHoverE() { return *orcaHoverE_;}
350     void mycode::Photon::setorcaHoverE(float setval) { *orcaHoverE_ = setval;}