ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/PhotonIsolator.h
Revision: 1.6
Committed: Wed Jun 10 11:17:05 2009 UTC (15 years, 10 months ago) by lethuill
Content type: text/plain
Branch: MAIN
CVS Tags: all_3_3_2_01, all_3_2_5_02, all_3_2_5_01, all_2_2_9_03, all_2_2_9_02, all_2_2_9_01, HEAD
Branch point for: CMSSW_2_2_X_br
Changes since 1.5: +41 -54 lines
Error occurred while calculating annotation data.
Log Message:
Better protection against missing collection / Cleaning data format selection / Last iteration for migration to PAT of Photons

File Contents

# Content
1 #ifndef PhotonIsolator_h
2 #define PhotonIsolator_h
3
4 #include <memory>
5 #include <string>
6 #include <iostream>
7 #include <map>
8
9 #include "FWCore/Framework/interface/Event.h"
10 #include "FWCore/Framework/interface/EventSetup.h"
11 #include "FWCore/ParameterSet/interface/ParameterSet.h"
12 #include "FWCore/Framework/interface/ESHandle.h"
13
14 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
15 //#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
16 //#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
17 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
18 //#include "Geometry/Records/interface/IdealGeometryRecord.h"
19 #include "Geometry/Records/interface/CaloGeometryRecord.h"
20
21 #include "../interface/TRootPhoton.h"
22 #include "../interface/TRootSuperCluster.h"
23 #include "../interface/TRootCluster.h"
24 #include "../interface/TRootTrack.h"
25
26 #include "TClonesArray.h"
27
28 #define PI 3.141592654
29 #define TWOPI 6.283185308
30
31
32 class PhotonIsolator{
33
34 public:
35
36 PhotonIsolator(edm::ParameterSet * config, edm::ParameterSet * producersNames);
37 ~PhotonIsolator();
38
39 float deltaPhi(float phi1, float phi2);
40 float deltaR(float phi1, float phi2, float eta1, float eta2);
41 void setVerbosity(int verbosity) {verbosity_ = verbosity; };
42 bool loadHcalRecHits(const edm::Event& iEvent, const edm::EventSetup& iSetup);
43 Double_t basicClustersIsolation(TRootPhoton* photon, TClonesArray* superClusters, TClonesArray* basicClusters);
44 Double_t basicClustersDoubleConeIsolation(TRootPhoton* photon, TClonesArray* superClusters, TClonesArray* basicClusters);
45 Double_t hcalRecHitIsolation(TRootPhoton* photon);
46 Double_t trackerIsolation(TRootPhoton* photon, TClonesArray* tracks, Int_t &nTracks);
47
48
49 private:
50
51 edm::ParameterSet * config_;
52 edm::ParameterSet * producersNames_;
53 int verbosity_;
54 int basicClustersIsolation_BarrelBC_type_;
55 int basicClustersIsolation_EndcapBC_type_;
56 double basicClustersIsolation_DRmax_;
57 double basicClustersIsolation_ClusterEt_threshold_;
58 int basicClustersDoubleConeIsolation_BarrelBC_type_;
59 int basicClustersDoubleConeIsolation_EndcapBC_type_;
60 double basicClustersDoubleConeIsolation_DRmin_;
61 double basicClustersDoubleConeIsolation_DRmax_;
62 double basicClustersDoubleConeIsolation_ClusterEt_threshold_;
63 double hcalRecHitIsolation_DRmax_;
64 double hcalRecHitIsolation_HitEt_threshold_;
65 double trackerIsolation_DRmax_;
66 double trackerIsolation_pt_threshold_;
67 int trackerIsolation_pixelLayers_threshold_;
68 bool allowMissingCollection_;
69
70 const HBHERecHitCollection* hbheHits_;
71 const HORecHitCollection* hoHits_;
72 const HFRecHitCollection* hfHits_;
73 const CaloGeometry* geometry_;
74
75 };
76
77 #endif