]>
Commit | Line | Data |
---|---|---|
aa7c9120 | 1 | #ifndef ALIPHOSPIDV1_H |
2 | #define ALIPHOSPIDV1_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | ||
9 | //_________________________________________________________________________ | |
10 | // Implementation version v1 of the PHOS particle identifier | |
11 | // Identification is based on information from PPSD and EMC | |
12 | // Oh yeah | |
13 | //*-- Author: Yves Schutz (SUBATECH) | |
14 | ||
15 | // --- ROOT system --- | |
16 | class TFormula ; | |
17 | class TVector3 ; | |
18 | ||
19 | // --- Standard library --- | |
20 | ||
21 | // --- AliRoot header files --- | |
22 | class AliPHOSEmcRecPoint ; | |
23 | class AliPHOSRecPoint ; | |
24 | ||
25 | #include "AliPHOSPID.h" | |
26 | ||
27 | class AliPHOSPIDv1 : public AliPHOSPID { | |
28 | ||
29 | public: | |
30 | ||
31 | AliPHOSPIDv1() ; // ctor | |
32 | AliPHOSPIDv1(const char* headerFile, const char * tsBranchFile = 0) ; | |
33 | virtual ~AliPHOSPIDv1() ; // dtor | |
34 | ||
35 | virtual void Exec(Option_t * option); | |
36 | virtual char * GetRecParticlesBranch()const {return (char*) fRecparticlesFileName.Data() ;} | |
37 | virtual char * GetTrackSegmentsBranch()const{return (char*) fTSFileName.Data(); } | |
38 | ||
39 | virtual void Init() ; | |
40 | ||
41 | virtual void PlotDispersionCuts()const ; | |
42 | ||
43 | virtual void Print(Option_t * option)const ; | |
44 | ||
45 | virtual Bool_t ReadTrackSegments() ; | |
46 | ||
47 | virtual void SetIdentificationMethod(char * option = "CPV DISP" ){fIDOptions = option ;} | |
48 | ||
49 | virtual void SetShowerProfileCut(char * formula = | |
50 | "0.35*0.35 - (x-1.386)*(x-1.386) - 1.707*1.707*(y-1.008)*(y-1.008)") ; | |
51 | ||
52 | virtual void SetDispersionCut(Float_t cut){fDispersion = cut ; } | |
53 | virtual void SetCpvtoEmcDistanceCut(Float_t cut ) {fCpvEmcDistance = cut ;} | |
54 | virtual void SetTrackSegmentsBranch(const char* file) ; | |
55 | virtual void SetRecParticlesBranch (const char* file) ; | |
56 | ||
57 | virtual void WriteRecParticles() ; | |
58 | ||
59 | ||
60 | private: | |
61 | void MakeRecParticles(void ) ; | |
62 | Float_t GetDistance(AliPHOSEmcRecPoint * emc, AliPHOSRecPoint * cpv, Option_t * Axis)const ; | |
63 | // Relative Distance PPSD-EMC | |
64 | TVector3 GetMomentumDirection(AliPHOSEmcRecPoint * emc, AliPHOSRecPoint * cpv, AliPHOSRecPoint * ppsd)const ; | |
65 | ||
66 | void PrintRecParticles(Option_t * option) ; | |
67 | ||
68 | private: | |
69 | ||
70 | TString fHeaderFileName ; | |
71 | TString fTSFileName; | |
72 | TString fRecPointsFileName ; | |
73 | TString fRecparticlesFileName ; | |
74 | ||
75 | TString fIDOptions ; | |
76 | ||
77 | Int_t fNEvent ; | |
78 | TObjArray * fEmcRecPoints ; // ! initial EMC RecPoints | |
79 | TObjArray * fCpvRecPoints ; // ! initial CPV RecPoints | |
80 | TClonesArray * fTrackSegments; // ! initial list of TrackSegments | |
81 | TClonesArray * fRecParticles ; // ! output | |
82 | ||
83 | AliPHOSClusterizer * fClusterizer ; // ! | |
84 | AliPHOSTrackSegmentMaker * fTSMaker ; // ! | |
85 | ||
86 | AliPHOSGeometry * fGeom ; // !pointer to PHOS geometry | |
87 | TFormula * fFormula ; // formula to define cut on the shouer elips axis | |
88 | Float_t fDispersion ; // dispersion cut | |
89 | Float_t fCpvEmcDistance ; | |
90 | ||
91 | Bool_t fIsInitialized ; | |
92 | ||
93 | ||
94 | ||
95 | ||
96 | ClassDef( AliPHOSPIDv1,1) // Particle identifier implementation version 1 | |
97 | ||
98 | }; | |
99 | ||
100 | #endif // AliPHOSPIDV1_H |