X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HLT%2Fsrc%2FAliLevel3.h;h=8873f17d546aefb47105ff52f0efb2d233bc1594;hb=a109e73ef777d562e3b69ec4212d0c56f4dc8ccc;hp=8c19980ee0450c105062d6260e5f351fba1ebf3a;hpb=f3e63a47db6ea1d88f1d9f90bc73248502fc389a;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/src/AliLevel3.h b/HLT/src/AliLevel3.h index 8c19980ee04..8873f17d546 100644 --- a/HLT/src/AliLevel3.h +++ b/HLT/src/AliLevel3.h @@ -1,8 +1,16 @@ +// @(#) $Id$ + #ifndef ALILEVEL3_H #define ALILEVEL3_H +#ifndef no_root #include #include +#endif + +#ifdef use_newio +class AliRunLoader; +#endif #include "AliL3DigitData.h" #include "AliL3RootTypes.h" @@ -11,28 +19,29 @@ class AliL3SpacePointData; class AliL3DigitRowData; class AliL3TrackSegmentData; class AliL3DigitData; -class AliL3Transform; class AliL3ConfMapper; class AliL3Vertex; class AliL3VertexFinder; class AliL3TrackMerger; class AliL3GlobalMerger; +#ifndef no_root class TDirectory; -class AliL3Transform; +#endif class AliL3ClustFinderNew; class AliL3Merger; class AliL3InterMerger; -#ifdef use_aliroot class AliL3FileHandler; -#else class AliL3MemHandler; -#endif class AliL3Benchmark; +#ifdef no_root +class AliLevel3 { +#else class AliLevel3 : public TObject { +#endif private: - UInt_t fNTrackData; + UInt_t fNTrackData; //count data AliL3TrackSegmentData* fTrackData; //! AliL3ConfMapper *fTracker; //! AliL3Vertex *fVertex; //! @@ -41,55 +50,85 @@ class AliLevel3 : public TObject { AliL3GlobalMerger *fGlobalMerger; //! AliL3InterMerger *fInterMerger; //! AliL3ClustFinderNew *fClusterFinder; //! - #ifdef use_aliroot - AliL3FileHandler *fFileHandler; //! - #else AliL3MemHandler *fFileHandler; //! - #endif AliL3Benchmark *fBenchmark;//! - Int_t fNPatch; - Int_t fRow[6][2]; - Char_t fPath[256]; - AliL3Transform *fTransformer; //! - TDirectory *savedir; - TFile *fInputFile; - TFile *fOutputFile; - Bool_t fFindVertex; - void Init(); + + Int_t fEvent; //event number + Int_t fNPatch; //number of patches + Int_t fRow[6][2];//rows + Float_t fEta[2]; //eta + + Char_t *fInputFile;//! +#ifdef use_newio + AliRunLoader *fRunLoader; //runloader +#endif + Char_t fPath[256]; //path to aliroot + Char_t fWriteOutPath[256]; //path to store + + Bool_t fDoRoi; //do region of interest + Bool_t fFindVertex; //find vertex + Bool_t fDoNonVertex;//do non vertex pass + Bool_t fPileUp; //do pileup + Bool_t fNoCF; //dont do cluster finder + + Bool_t fUseBinary; //use binary input + Bool_t fWriteOut; //write tracks + + static Bool_t fgDoVertexFit; //do vertex fix + + Bool_t fClusterDeconv; //do cluster deconv + Float_t fXYClusterError; //Cluster error + Float_t fZClusterError; //Cluster error + void WriteSpacePoints(UInt_t npoints,AliL3SpacePointData *points, - Int_t slice,Int_t patch); + Int_t slice,Int_t patch) const; + Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o') const; void WriteResults(); - Int_t WriteTracks(char *filename,AliL3Merger *merger,char opt='o'); - Float_t fEta[2]; - Bool_t fDoRoi; - Bool_t fUseBinary; - Bool_t fWriteOut; + void FitGlobalTracks(); void SetPath(char *p){sprintf(fPath,"%s",p);} + public: AliLevel3 (); - AliLevel3(Char_t *infile,Char_t *outfile); - AliLevel3(TFile *in, TFile *out); + AliLevel3(Char_t *infile); +#ifdef use_newio + AliLevel3(AliRunLoader *rl); +#endif virtual ~AliLevel3(); - + enum EFileType {kBinary, kBinary8, kRoot, kRaw, kDate, kRunLoader}; + void Init(Char_t *path,EFileType filetype=kBinary,Int_t npatches=6); + void SetMergerParameters(Double_t maxy=1.2,Double_t maxz=1.6,Double_t maxkappa=0.003, + Double_t maxpsi=0.02,Double_t maxtgl=0.03); void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100, Int_t trackletlength=3,Int_t tracklength=5, Int_t rowscopetracklet=2,Int_t rowscopetrack=3, Double_t min_pt_fit=0,Double_t maxangle=1.31, Double_t goodDist=5,Double_t hitChi2Cut=10, Double_t goodHitChi2=20,Double_t trackChi2Cut=50, - Int_t maxdist=50); - + Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1, + Bool_t vertexconstraint=kTRUE); + void SetClusterFinderParam(Float_t fXYError=0.2,Float_t fZError=0.3,Bool_t deconv=kTRUE); - void ProcessEvent(Int_t first,Int_t last); + void ProcessEvent(Int_t first,Int_t last,Int_t event=0); void ProcessSlice(Int_t slice); - - void UseBinaryInput(char *path){SetPath(path);fUseBinary=kTRUE;} void DoMc(char* file="point_mc.dat"); + void DoNonVertexTracking() {fDoNonVertex=kTRUE;} + void FindVertex() {fFindVertex=kTRUE;} void DoBench(char* name="benchmark"); + void DoPileup() {fPileUp = kTRUE;} + void NoCF() {fNoCF=kTRUE;} void DoRoi(Float_t e0=0.4,Float_t e1=0.5){fEta[0]=e0;fEta[1]=e1;fDoRoi=kTRUE;} - void WriteFiles(){fWriteOut = kTRUE;} + void WriteFiles(Char_t *path="./"){fWriteOut = kTRUE; sprintf(fWriteOutPath,"%s",path);} + + static void SetVertexFit(Bool_t f) {fgDoVertexFit=f;} + static Bool_t DoVertexFit() {return fgDoVertexFit;} + ClassDef(AliLevel3,1) //Interface class for Level3-tracking }; #endif + + + + +