ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/PhotonTools.h
(Generate patch)

Comparing UserCode/MitPhysics/Utils/interface/PhotonTools.h (file contents):
Revision 1.3 by fabstoec, Wed Jun 1 18:11:52 2011 UTC vs.
Revision 1.8 by fabstoec, Fri Jul 15 19:42:36 2011 UTC

# Line 12 | Line 12
12   #define MITPHYSICS_UTILS_PHOTONTOOLS_H
13  
14   #include "MitAna/DataTree/interface/Photon.h"
15 + #include "MitAna/DataTree/interface/TrackCol.h"
16   #include "MitAna/DataTree/interface/Electron.h"
17   #include "MitAna/DataTree/interface/ElectronCol.h"
18   #include "MitAna/DataTree/interface/BaseVertex.h"
# Line 21 | Line 22
22   #include "MitAna/DataTree/interface/TriggerObjectCol.h"
23   #include "MitCommon/MathTools/interface/MathUtils.h"
24  
25 + class TRandom3;
26 +
27   namespace mithep {
28    class PhotonTools {
29      public:
# Line 43 | Line 46 | namespace mithep {
46        };      
47        
48       enum CiCBaseLineCats {
49 <       kCiCCat1 = 0,
49 >       kCiCNoCat = 0,
50 >       kCiCCat1,
51         kCiCCat2,
52         kCiCCat3,
53         kCiCCat4
54       };    
55  
56 <      static Bool_t       PassConversionId(const Photon *p, const DecayParticle *c);
57 <      static Bool_t       PassElectronVeto(const Photon *p, const ElectronCol *els);
58 <      static Double_t       ElectronVetoCiC(const Photon *p, const ElectronCol *els);
59 <      static Bool_t       PassElectronVetoConvRecovery(const Photon *p, const ElectronCol *els, const DecayParticleCol *conversions, const BaseVertex *v);
60 <      static Bool_t       PassTriggerMatching(const Photon *p, const TriggerObjectCol *trigobjs);
61 <      static const DecayParticle *MatchedConversion(const Photon *p, const DecayParticleCol *conversions,
62 <                                               const BaseVertex *vtx, Int_t nWrongHitsMax=1, Double_t probMin=1e-6,
63 <                                               Double_t lxyMin = 2.0, Double_t dRMin = 0.1);
64 <      static const DecayParticle *MatchedConversion(const Track *t, const DecayParticleCol *conversions,
65 <                                               const BaseVertex *vtx, Int_t nWrongHitsMax=1, Double_t probMin=1e-6,
66 <                                               Double_t lxyMin = 2.0);                                              
67 <      static DiphotonR9EtaCats DiphotonR9EtaCat(const Photon *p1, const Photon *p2);
68 <      static DiphotonR9EtaConversionCats DiphotonR9EtaConversionCat(const Photon *p1, const Photon *p2, const DecayParticleCol *conversions, const BaseVertex *v);
69 <      static CiCBaseLineCats CiCBaseLineCat(const Photon *p);
56 >    // Methods for scaling/smearing Photons
57 >    static void ScalePhoton(Photon* p, Double_t scale);
58 >    static void SmearPhoton(Photon* p, TRandom3* rng, Double_t width, UInt_t iSeed);
59 >
60 >    static Bool_t       PassConversionId(const Photon *p, const DecayParticle *c);
61 >    static Bool_t       PassElectronVeto(const Photon *p, const ElectronCol *els);
62 >    static Double_t     ElectronVetoCiC(const Photon *p, const ElectronCol *els);
63 >    static Bool_t       PassElectronVetoConvRecovery(const Photon *p, const ElectronCol *els, const DecayParticleCol *conversions, const BaseVertex *v);
64 >    static Bool_t       PassTriggerMatching(const Photon *p, const TriggerObjectCol *trigobjs);
65 >    static const DecayParticle *MatchedConversion(const Photon *p, const DecayParticleCol *conversions,
66 >                                                  const BaseVertex *vtx, Int_t nWrongHitsMax=1, Double_t probMin=1e-6,
67 >                                                  Double_t lxyMin = 2.0, Double_t dRMin = 0.1);
68 >    static const DecayParticle *MatchedConversion(const Track *t, const DecayParticleCol *conversions,
69 >                                                  const BaseVertex *vtx, Int_t nWrongHitsMax=1, Double_t probMin=1e-6,
70 >                                                  Double_t lxyMin = 2.0);                                              
71 >    static DiphotonR9EtaCats DiphotonR9EtaCat(const Photon *p1, const Photon *p2);
72 >    static DiphotonR9EtaConversionCats DiphotonR9EtaConversionCat(const Photon *p1, const Photon *p2, const DecayParticleCol *conversions, const BaseVertex *v);
73 >    static CiCBaseLineCats CiCBaseLineCat(const Photon *p);
74 >    
75 >    static const DecayParticle *MatchedCiCConversion(const Photon *p, const DecayParticleCol *conversions,
76 >                                                     Double_t dPhiMin=0.1, Double_t dEtaMin=0.1,Double_t dRMin=0.1,
77 >                                                     bool print = false);
78 >    
79 >    static bool PassCiCSelection(const Photon* ph,
80 >                                 const Vertex* vtx,
81 >                                 const TrackCol*    trackCol,
82 >                                 const ElectronCol* eleCol,
83 >                                 const VertexCol*   vtxCol,
84 >                                 double rho, double ptmin,
85 >                                 bool applyEleVeto = true,
86 >                                 bool print = false, float* kin=NULL);
87  
88 +
89 +    static bool PassCiCSelection(Photon* ph,
90 +                                 const Vertex* vtx,
91 +                                 const TrackCol*    trackCol,
92 +                                 const ElectronCol* eleCol,
93 +                                 const VertexCol*   vtxCol,
94 +                                 double rho, double ptmin,
95 +                                 bool applyEleVeto = true,
96 +                                 bool print = false, float* kin=NULL);
97 +    
98      ClassDef(PhotonTools, 0) // Muon tools
99 <  };
99 >      };
100   }
101  
102   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines