6 #include "TClonesArray.h"
33 EventTHeader() : fEvtNum(0), fRun(0), fDate(0), fField(0) { }
35 void Set(Int_t i, Int_t r, Int_t d, Double32_t Field = 0)
36 { fEvtNum = i; fRun = r; fDate = d; fField = Field;}
37 Int_t GetEvtNum()
const {
return fEvtNum; }
38 Int_t GetRun()
const {
return fRun; }
39 Int_t GetDate()
const {
return fDate; }
40 Double32_t GetField()
const {
return fField;}
55 Double32_t fVertex[3];
56 Double32_t fCovariantMatrix[6];
57 TClonesArray *fTracks;
61 static TClonesArray *fgTracks;
62 static TClonesArray *fgHits;
63 static THashList *fRotList;
68 Int_t Build(
StEvent *pEventT, Double_t pCut = 0.2);
69 void Clear(Option_t *option =
"");
70 Bool_t IsValid()
const {
return fIsValid; }
71 static void Reset(Option_t *option =
"");
72 void SetNtrack(UInt_t n) { fNtrack = n; }
73 void SetNhit(UInt_t n) { fNhit = n; }
74 void SetFlag(UInt_t f) { fFlag = f; }
75 void SetHeader(Int_t i, Int_t run, Int_t date, Double32_t field);
79 Double32_t GetVertex(UInt_t i=0) {
return (i<3)?fVertex[i]:0;}
80 UInt_t GetTotalNoTracks()
const {
return fNPTracks;}
81 UInt_t GetNtrack()
const {
return fNtrack; }
82 UInt_t GetNhit()
const {
return fNhit; }
83 UInt_t GetFlag()
const {
return fFlag; }
85 const Double32_t *GetVertex()
const {
return fVertex;}
86 const Double32_t *GetCovMatrix()
const {
return fCovariantMatrix;}
87 TClonesArray *GetTracks()
const {
return fTracks;}
88 TClonesArray *GetHits()
const {
return fHits;}
89 TrackT *GetTrackT(UInt_t i=0)
const {
return fTracks && i < fNtrack ? (
TrackT*) fTracks->At(i): 0;}
90 HitT *GetHitT(UInt_t i=0)
const {
return fHits && i < fNhit ? (
HitT*) fHits->At(i): 0;}
91 Int_t GetIndexOfTrackT(
const TrackT *obj)
const {
return fgTracks->IndexOf(obj);}
92 Int_t GetIndexOfHitT(
const HitT *obj)
const {
return fgHits->IndexOf(obj);}
93 static void SetRotMatrices(THashList *Rot) {fRotList = Rot;}
94 static void RestoreListOfRotations();
95 static THashList *RotMatrices() {
return fRotList;}
96 virtual void Print(Option_t *opt=
"")
const;
107 TString fOutFileName;
109 TBase( TTree *tree = 0,
110 const Char_t *f_name =
"/star/data09/calib/fisyak/Pass112/TpcSsd/065/Event_6065045_raw_1010001.root") :
fEvent(0) {
114 TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject(f_name);
116 f =
new TFile(f_name);
118 tree = (TTree*)gDirectory->Get(
"T");
123 virtual ~
TBase() {
if (!fChain)
return;
delete fChain->GetCurrentFile();}
124 virtual Int_t
Cut(Long64_t entry);
125 virtual Int_t GetEntry(Long64_t entry) {
if (!fChain)
return 0;
return fChain->GetEntry(entry);}
126 virtual Long64_t LoadTree(Long64_t entry) {
128 if (!fChain)
return -5;
129 Long64_t centry = fChain->LoadTree(entry);
130 if (centry < 0)
return centry;
131 if (!fChain->InheritsFrom(TChain::Class()))
return centry;
132 TChain *chain = (TChain*)fChain;
133 if (chain->GetTreeNumber() !=
fCurrent) {
139 virtual void Init(TTree *tree) {
143 fChain->SetMakeClass(1);
145 TBranch *branch = fChain->GetBranch(
"EventT");
146 branch->SetAddress(&
fEvent);
148 virtual void Loop() {Loop(0);}
149 virtual void Loop(Int_t Nevents);
150 virtual void SetOutFileName(
const Char_t *name=
"Out.root") {fOutFileName = name;}
151 virtual Bool_t Notify() {
return kTRUE;}
152 virtual void Show(Long64_t entry = -1) {
if (!fChain)
return; fChain->Show(entry);}
Int_t fCurrent
pointer to the analyzed TTree or TChain
EventT * fEvent
current Tree number in a TChain