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

Comparing UserCode/MitPhysics/Utils/interface/VertexTools.h (file contents):
Revision 1.1 by bendavid, Mon May 16 13:26:47 2011 UTC vs.
Revision 1.10 by fabstoec, Fri Oct 26 19:23:05 2012 UTC

# Line 21 | Line 21
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 TMVA {//MVA
29 +  class Reader;
30 + }
31  
32   namespace mithep {
33 +  typedef std::vector<double> VertexZarray;
34 +  typedef std::vector<const Track*> TrackArray;
35 +
36    class VertexTools {
37 <    public:
38 <      VertexTools();
39 <        
40 <      static const Vertex*      BestVtx(const VertexCol *c, const VertexMVA *mva);
41 <      
37 >  public:
38 >
39 >    VertexTools();
40 >    
41 >    static double NewMass(const Photon* ph1, const Photon* ph2, const BaseVertex* vert);
42 >
43 >    static VertexZarray ExtractZarray(const VertexCol* vcol, float zmin=-30, float zmax = 30,
44 >                                      const BaseVertex  *fBeamSpot = NULL);
45 >    static VertexZarray ExtractZarray(float zmin=-30, float zmax=30, float step=0.05);
46 >    
47 >    static const Vertex* BestVtx(const PFCandidateCol *fPFJets, const VertexCol *c,
48 >                                 const BaseVertex  *fBeamSpot, FourVector diboso);
49 >
50 >
51 >    static double BestVtx(const PFCandidateCol *fPFJets, VertexZarray zcol,
52 >                          const BaseVertex  *fBeamSpot, FourVector diboso);
53 >
54 >    static double Prob(const PFCandidateCol *fPFJets, double zpos,  
55 >                       const BaseVertex  *fBeamSpot, FourVector diboso);
56 >    
57 >    static double VertexWidth(const Vertex*,  const BaseVertex* );
58 >
59 >    static void BanThisTrack(const Track*);
60 >    static void Reset();
61 >    
62 >    static VertexTools* instance(const char* str){
63 >      if(meobject == NULL){
64 >        meobject = new VertexTools();
65 >        meobject->InitM(str);
66 >      }
67 >      return meobject;
68 >    }        
69 >
70 >    // ----------------------------------------------------------
71 >    // Methods (added by Fabian) on the EPS BaseLine Analysis
72 >    const Vertex* findVtxBasicRanking(const Photon*           ph1,
73 >                                      const Photon*           ph2,
74 >                                      const BaseVertex*       bsp,
75 >                                      const VertexCol*        vtcs,
76 >                                      const DecayParticleCol* conv, Bool_t useMva, Double_t &vtxProb,
77 >                                      std::vector<int>   * debugInds = NULL ,
78 >                                      std::vector<double>* debugVals = NULL ,
79 >                                      std::vector<int>   * debugConv = NULL );
80 >    // ----------------------------------------------------------
81 >
82 >    
83 >    static std::pair<double,double> VtxZFromConversion(const Photon *p, const DecayParticle *c, const BaseVertex *bsp);
84 >
85 >    void InitM(const char* str);
86 >    void InitP(int version = 1);
87 >    
88 >    Bool_t IsInitMvaM() const { return fIsInitMvaM; }
89 >    Bool_t IsInitMvaP() const { return fIsInitMvaP; }
90 >    
91 >    static Double_t DeltaMassVtx(Double_t xp1, Double_t yp1, Double_t zp1,
92 >            Double_t xp2, Double_t yp2, Double_t zp2,
93 >            Double_t xv,  Double_t yv,  Double_t zv,
94 >            Double_t dz);
95 >    
96 >  private:
97 >    
98 >    double VtxMvaP(float ptbal, float ptasym, float logsumpt2, float limPullToConv, float nConv) const;
99 >    
100 >    static VertexTools *meobject;
101 >    
102 >
103 >    TString relname;
104 >
105 >    TrackArray excluded;
106 >    
107 >    Bool_t fIsInitMvaM;
108 >    Bool_t fIsInitMvaP;
109 >
110 >    Float_t tmvar1, tmvar2, tmvar3, tmvar4, tmvar5, tmvar6;
111 >    TMVA::Reader* reader;
112 >    
113 >    
114 >    TMVA::Reader *readervtx;
115 >    TMVA::Reader *readerevt;
116 >    mutable Float_t fMvaPVars[5];
117 >    mutable Float_t fMvaPEvtVars[8];
118 >    
119 >    TString fVtxProbMvaName;
120 >    
121      ClassDef(VertexTools, 0) // Muon tools
122 <  };
122 >      };
123   }
124  
125   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines