00001
00013 #ifndef STAR_StGenericVertexMaker
00014 #define STAR_StGenericVertexMaker
00015
00016 #ifndef StMaker_H
00017 #include "StMaker.h"
00018 #endif
00019
00020
00021 class StEvent;
00022 class StPrimaryVertex;
00023 class StMinuitVertexFinder;
00024 class StGenericVertexFinder;
00025 class TNtuple;
00026
00027 class StGenericVertexMaker : public StMaker
00028 {
00029 private:
00030
00031 Bool_t useITTF;
00032 Bool_t useBeamline;
00033 Bool_t calibBeamline;
00034 Bool_t useCTB;
00035 Bool_t usePCT;
00036 Bool_t useBTOF;
00037 Bool_t eval;
00038 Bool_t externalFindUse;
00039 Int_t minTracks;
00040
00041 TNtuple *mEvalNtuple;
00042
00043 StEvent *mEvent;
00044 StPrimaryVertex* primV;
00045 StGenericVertexFinder *theFinder;
00046
00047 Bool_t DoFit();
00048 void const FillStEvent();
00049 void MakeEvalNtuple();
00050
00051 Int_t nEvTotal,nEvGood;
00052
00053 public:
00054 StGenericVertexMaker(const char *name="GenericVertex");
00055 virtual ~StGenericVertexMaker();
00056 virtual Int_t Init();
00057 virtual Int_t InitRun (Int_t runumber);
00058 virtual void Clear(const char* opt="");
00059 virtual Int_t Finish();
00060 virtual Int_t Make();
00061 StGenericVertexFinder* GetGenericFinder(){return (StGenericVertexFinder*)theFinder;};
00062
00063 void UseBeamLine() {SetAttr("BeamLine" , kTRUE );}
00064 void DoNotUseBeamLine() {SetAttr("BeamLine" , kFALSE);}
00065 void CalibBeamLine() {SetAttr("calibBeamline" , kTRUE );}
00066 void UseCTB() {SetAttr("CTB" , kTRUE );}
00067 void DoNotUseCTB() {SetAttr("CTB" , kFALSE);}
00068 void DoEval() {SetAttr("eval" , kTRUE );}
00069 void SetInternalFind() {SetAttr("externalFindUse", kFALSE);}
00070 void SetUseITTF() {SetAttr("ITTF" , kTRUE );}
00071 void SetDoNotUseITTF() {SetAttr("ITTF" , kFALSE);}
00072 void SetMinimumTracks(Int_t n){SetAttr("minTracks" , n );}
00073 void UsePCT() {SetAttr("PCT" , kTRUE );}
00074 void DoNotUsePCT() {SetAttr("PCT" , kFALSE);}
00075
00076 virtual const char *GetCVS() const
00077 {static const char cvs[]="Tag $Name: $ $Id: StGenericVertexMaker.h,v 1.15 2010/09/11 05:03:16 genevb Exp $ built "__DATE__" "__TIME__ ; return cvs;}
00078
00079 ClassDef(StGenericVertexMaker, 0)
00080 };
00081
00082 #endif
00083
00084
00085
00086