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

# User Rev Content
1 bendavid 1.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 maxi 1.2 #include "MitAna/DataTree/interface/PFCandidateCol.h"
25 bendavid 1.1
26 maxi 1.2 #include "TMVA/Reader.h"
27 bendavid 1.1
28     namespace mithep {
29 maxi 1.2 typedef std::vector<double> VertexZarray;
30 maxi 1.3 typedef std::vector<const Track*> TrackArray;
31 maxi 1.2
32 bendavid 1.1 class VertexTools {
33 maxi 1.2 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 fabstoec 1.4
44    
45 maxi 1.2 static double BestVtx(const PFCandidateCol *fPFJets, VertexZarray zcol,
46     const BaseVertex *fBeamSpot, FourVector diboso);
47 fabstoec 1.4
48 maxi 1.2 static double Prob(const PFCandidateCol *fPFJets, double zpos,
49     const BaseVertex *fBeamSpot, FourVector diboso);
50    
51     static double VertexWidth(const Vertex*, const BaseVertex* );
52 maxi 1.3
53     static void BanThisTrack(const Track*);
54     static void Reset();
55 maxi 1.2
56     static VertexTools* instance(const char* str){
57     if(meobject == NULL){
58     meobject = new VertexTools(str);
59     }
60     return meobject;
61 fabstoec 1.4 }
62 maxi 1.2
63 fabstoec 1.5 // ----------------------------------------------------------
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 maxi 1.2 Float_t tmvar1, tmvar2, tmvar3, tmvar4, tmvar5, tmvar6;
73     TMVA::Reader* reader;
74    
75     private:
76     static VertexTools *meobject;
77 fabstoec 1.4
78 maxi 1.2 VertexTools();
79     VertexTools(const char* str);
80     TString relname;
81 fabstoec 1.4
82 maxi 1.3 TrackArray excluded;
83    
84 bendavid 1.1 ClassDef(VertexTools, 0) // Muon tools
85 maxi 1.2 };
86 bendavid 1.1 }
87    
88     #endif