ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/VertexTools.h
Revision: 1.5
Committed: Fri Jul 8 17:54:27 2011 UTC (13 years, 9 months ago) by fabstoec
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024
Changes since 1.4: +9 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id $
3 //
4 // VertexTools
5 //
6 // Helper Class for photon Identification decisions.
7 //
8 // Authors: J.Bendavid
9 //--------------------------------------------------------------------------------------------------
10
11 #ifndef MITPHYSICS_UTILS_VERTEXTOOLS_H
12 #define MITPHYSICS_UTILS_VERTEXTOOLS_H
13
14 #include "MitAna/DataTree/interface/Photon.h"
15 #include "MitAna/DataTree/interface/Electron.h"
16 #include "MitAna/DataTree/interface/ElectronCol.h"
17 #include "MitAna/DataTree/interface/BaseVertex.h"
18 #include "MitAna/DataTree/interface/DecayParticleCol.h"
19 #include "MitAna/DataTree/interface/VertexCol.h"
20 #include "MitAna/DataTree/interface/BeamSpotCol.h"
21 #include "MitAna/DataTree/interface/TriggerObjectCol.h"
22 #include "MitCommon/MathTools/interface/MathUtils.h"
23 #include "MitPhysics/Utils/interface/VertexMVA.h"
24 #include "MitAna/DataTree/interface/PFCandidateCol.h"
25
26 #include "TMVA/Reader.h"
27
28 namespace mithep {
29 typedef std::vector<double> VertexZarray;
30 typedef std::vector<const Track*> TrackArray;
31
32 class VertexTools {
33 public:
34
35 static double NewMass(const Photon* ph1, const Photon* ph2, const BaseVertex* vert);
36
37 static VertexZarray ExtractZarray(const VertexCol* vcol, float zmin=-30, float zmax = 30,
38 const BaseVertex *fBeamSpot = NULL);
39 static VertexZarray ExtractZarray(float zmin=-30, float zmax=30, float step=0.05);
40
41 static const Vertex* BestVtx(const PFCandidateCol *fPFJets, const VertexCol *c,
42 const BaseVertex *fBeamSpot, FourVector diboso);
43
44
45 static double BestVtx(const PFCandidateCol *fPFJets, VertexZarray zcol,
46 const BaseVertex *fBeamSpot, FourVector diboso);
47
48 static double Prob(const PFCandidateCol *fPFJets, double zpos,
49 const BaseVertex *fBeamSpot, FourVector diboso);
50
51 static double VertexWidth(const Vertex*, const BaseVertex* );
52
53 static void BanThisTrack(const Track*);
54 static void Reset();
55
56 static VertexTools* instance(const char* str){
57 if(meobject == NULL){
58 meobject = new VertexTools(str);
59 }
60 return meobject;
61 }
62
63 // ----------------------------------------------------------
64 // Methods (added by Fabian) on the EPS BaseLine Analysis
65 static const Vertex* findVtxBasicRanking(const Photon* ph1,
66 const Photon* ph2,
67 const BaseVertex* bsp,
68 const VertexCol* vtcs,
69 const DecayParticleCol* conv = NULL);
70 // ----------------------------------------------------------
71
72 Float_t tmvar1, tmvar2, tmvar3, tmvar4, tmvar5, tmvar6;
73 TMVA::Reader* reader;
74
75 private:
76 static VertexTools *meobject;
77
78 VertexTools();
79 VertexTools(const char* str);
80 TString relname;
81
82 TrackArray excluded;
83
84 ClassDef(VertexTools, 0) // Muon tools
85 };
86 }
87
88 #endif