CMS 3D CMS Logo

SimpleVertexTree.h
Go to the documentation of this file.
1 #ifndef SimpleVertexTree_H
2 #define SimpleVertexTree_H
3 
4 #include <string>
5 
10 
11 #include "TString.h"
12 
38 class TFile;
39 class TTree;
40 
42 public:
48  SimpleVertexTree(const char* fitterName = "VertexFitter", const MagneticField* magField = nullptr);
49  virtual ~SimpleVertexTree();
50 
57  void fill(const TransientVertex& recv,
58  const TrackingVertex* simv = nullptr,
59  reco::RecoToSimCollection* recSimColl = nullptr,
60  const float& time = 0.);
61 
62  void fill(const TransientVertex& recv, const TrackingVertex* simv = nullptr, const float& time = 0.);
63 
69  void fill(const TransientVertex& recv, const float& time = 0.);
70 
75  void fill(const TrackingVertex* simv);
76 
77  // void fill(const TransientVertex & recVertex, const std::vector < RecTrack > & recTrackV,
78  // const SimVertex * simv, const float &time);
79  //
80  // void fill(const std::vector < RecTrack > & recTrackV, const TkSimVertex * simv = 0,
81  // const float &time = 0.);
82 
86  void fill();
87 
88 private:
89  void defineTrackBranch(const TString& prefix,
90  const TString& type,
91  const float* (VertexFitterResult::*pfunc)(const int) const,
92  const TString& index);
93 
94  float simPos[3];
95  float recPos[3];
96  float recErr[3];
97  float chiTot, ndf, chiProb;
99  TTree* vertexTree;
101  TString theFitterName;
102 
103  bool trackTest;
104  int maxTrack;
105  TString* parameterNames[5];
106 };
107 #endif
void defineTrackBranch(const TString &prefix, const TString &type, const float *(VertexFitterResult::*pfunc)(const int) const, const TString &index)
SimpleVertexTree(const char *fitterName="VertexFitter", const MagneticField *magField=nullptr)
TString * parameterNames[5]
virtual ~SimpleVertexTree()
VertexFitterResult * result