StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StKFVertexMaker.h
1 // $Id: StKFVertexMaker.h,v 2.5 2018/01/03 21:23:36 smirnovd Exp $
2 
3 #ifndef STAR_StKFVertexMaker
4 #define STAR_StKFVertexMaker
5 
15 #ifndef StMaker_H
16 #include "StMaker.h"
17 #endif
18 #include "TObjArray.h"
19 #include "TSpectrum.h"
20 #include "Math/Functor.h"
21 #include "Math/GSLMinimizer1D.h"
22 #include "StEnumerations.h"
23 #include "TCanvas.h"
24 #include "TH1K.h"
25 class StPrimaryVertex;
26 class StEvent;
27 class StDcaGeometry;
28 class KFParticle;
30 
31 class StKFVertexMaker : public StMaker {
32  public:
33  StKFVertexMaker(const char *name="KFVertex");
34  virtual ~StKFVertexMaker();
35  virtual Int_t Init();
36  virtual Int_t Make();
37  virtual Int_t InitRun (Int_t runumber);
38  // virtual Int_t FinishRun(Int_t runumber){return 0;}; // Overload empty StMaker::FinishRun
39  void Clear(Option_t *option="");
40  void Fit();
41  TH1F *VtxM() {return fVtxM;}
42  void SetZwindow(Double_t z = 2) {fzWindow = z;}
43  void SetDefaultTempLog(Double_t tLog = 2) {fTempLog = tLog;}
44  static Double_t AnnelingFcn(Double_t TInv=1);
45  TH1 *Vtx() {return fVtx;}
46  StKFVerticesCollection* Vertices() {return fcVertices;}
47  TObjArray &Particles() {return *fParticles;}
48  KFParticle *AddTrackAt(const StDcaGeometry *dca,Int_t kg);
49  void calculateRank(StPrimaryVertex *primV);
50  void SetCanvas(TCanvas *c1) {fc1 = c1;}
51  TCanvas *Canvas() {return fc1;}
52  TH1F *GetVtxs(Int_t pass = 0) {return fVtxs[pass];}
53  TH1K *GetVtxKs(Int_t pass = 0) {return fVtxKs[pass];}
54  TH1F *GetVtxM() {return fVtxM;}
55  private:
56  TObjArray *fParticles; // KF particles
57  Int_t fNzBins;
58  Int_t fNPasses;
59  TSpectrum *fSpectrum;
60  Double_t fzWindow;
61  TH1F *fVtxM;
62  StKFVerticesCollection **fVerticesPass;
63  static StKFVerticesCollection *fcVertices; // current vertex collection
64  Double_t fTempLog;
65  ROOT::Math::GSLMinimizer1D *fminBrent;
66  ROOT::Math::Functor1D *func;
67  TH1F *fVtxs[2];
68  TH1 *fVtx;
69  TH1K *fVtxKs[2];
70  Bool_t mBeamLine;
71  StPrimaryVertexOrder mVertexOrderMethod; // will default to 0 i.e. orderByNumberOfDaughters
72  TCanvas *fc1;
74  virtual const char *GetCVS() const {
75  static const char cvs[]="Tag $Name: $ $Id: StKFVertexMaker.h,v 2.5 2018/01/03 21:23:36 smirnovd Exp $ built " __DATE__ " " __TIME__ ;
76  return cvs;
77  }
78 
79  ClassDef(StKFVertexMaker,0) //StAF chain virtual base class for Makers
80 };
81 #endif
82 // $Log: StKFVertexMaker.h,v $
83 // Revision 2.5 2018/01/03 21:23:36 smirnovd
84 // StKFVertexMaker: Added missing include
85 //
86 // Revision 2.4 2014/08/06 11:43:59 jeromel
87 // Suffix on literals need to be space (later gcc compiler makes it an error) - first wave of fixes
88 //
89 // Revision 2.3 2013/04/10 22:14:20 fisyak
90 // Roll back to version 04/04/2013
91 //
92 // Revision 2.1 2012/05/07 14:56:14 fisyak
93 // Add StKFVertexMaker
94 //
void Clear(Option_t *option="")
User defined functions.
virtual base class for Maker
StPrimaryVertexOrder
virtual Int_t Make()