]>
Commit | Line | Data |
---|---|---|
b91d88dc | 1 | #ifndef ALIPHOSPIDV0_H |
2 | #define ALIPHOSPIDV0_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 | ||
702ab87e | 8 | /* History of cvs commits: |
9 | * | |
10 | * $Log$ | |
9a2cdbdf | 11 | * Revision 1.12 2007/03/06 06:57:05 kharlov |
12 | * DP:calculation of distance to CPV done in TSM | |
13 | * | |
26aa7e4a | 14 | * Revision 1.11 2006/09/07 18:31:08 kharlov |
15 | * Effective c++ corrections (T.Pocheptsov) | |
16 | * | |
3f7dbdb7 | 17 | * Revision 1.10 2005/05/28 14:19:04 schutz |
18 | * Compilation warnings fixed by T.P. | |
19 | * | |
702ab87e | 20 | */ |
b91d88dc | 21 | |
22 | //_________________________________________________________________________ | |
23 | // Implementation version v0 of the PHOS particle identifier | |
24 | // Identification is based on information from PPSD and EMC | |
25 | // Oh yeah | |
26 | //*-- Author: Yves Schutz (SUBATECH) | |
27 | ||
28 | // --- ROOT system --- | |
29 | class TFormula ; | |
30 | class TVector3 ; | |
31 | ||
32 | // --- Standard library --- | |
33 | ||
34 | // --- AliRoot header files --- | |
35 | class AliPHOSEmcRecPoint ; | |
36 | class AliPHOSRecPoint ; | |
37 | ||
38 | #include "AliPHOSPID.h" | |
39 | ||
40 | class AliPHOSPIDv0 : public AliPHOSPID { | |
41 | ||
42 | public: | |
43 | ||
44 | AliPHOSPIDv0() ; // ctor | |
9a2cdbdf | 45 | AliPHOSPIDv0(AliPHOSGeometry *geom); |
3f7dbdb7 | 46 | virtual ~AliPHOSPIDv0() ; // dtor, empty, memory leak in fFormula member |
47 | ||
48 | //Compiler generated should be ok, because destructor is empty. | |
49 | AliPHOSPIDv0(const AliPHOSPIDv0 & rhs); | |
50 | AliPHOSPIDv0 & operator = (const AliPHOSPIDv0 & rhs); | |
b91d88dc | 51 | |
9a2cdbdf | 52 | virtual void TrackSegments2RecParticles(Option_t * option); |
b91d88dc | 53 | |
54 | virtual void PlotDispersionCuts()const ; | |
702ab87e | 55 | virtual void Print(const Option_t * = "")const ; |
8e8eae84 | 56 | virtual void SetIdentificationMethod(const char * option = "CPV DISP" ){fIDOptions = option ;} |
57 | virtual void SetShowerProfileCut(const char * formula = "0.35*0.35 - (x-1.386)*(x-1.386) - 1.707*1.707*(y-1.008)*(y-1.008)") ; | |
b91d88dc | 58 | virtual void SetDispersionCut(Float_t cut){fDispersion = cut ; } |
59 | virtual void SetCpvtoEmcDistanceCut(Float_t cut ) {fCpvEmcDistance = cut ;} | |
60 | virtual void SetTimeGate(Float_t gate) {fTimeGate = gate ;} | |
9a2cdbdf | 61 | |
8e8eae84 | 62 | virtual const char * Version() const { return "pid-v0" ; } |
88cb7938 | 63 | |
b91d88dc | 64 | private: |
65 | ||
b91d88dc | 66 | void MakeRecParticles(void ) ; |
26aa7e4a | 67 | // Float_t GetDistance(AliPHOSEmcRecPoint * emc, AliPHOSRecPoint * cpv, Option_t * Axis)const ; // Relative Distance CPV-EMC |
b91d88dc | 68 | TVector3 GetMomentumDirection(AliPHOSEmcRecPoint * emc, AliPHOSRecPoint * cpv)const ; |
69 | void PrintRecParticles(Option_t * option) ; | |
b91d88dc | 70 | |
71 | private: | |
72 | ||
b91d88dc | 73 | TString fIDOptions ; // PID option |
b91d88dc | 74 | |
75 | AliPHOSClusterizer * fClusterizer ; // ! | |
76 | AliPHOSTrackSegmentMaker * fTSMaker ; // ! | |
77 | ||
fbf811ec | 78 | TFormula * fFormula ; // formula to define cut on the shower elips axis |
b91d88dc | 79 | Float_t fDispersion ; // dispersion cut |
80 | Float_t fCpvEmcDistance ; // Max EMC-CPV distance | |
81 | Float_t fTimeGate ; // Time of the latest EmcRecPoint accepted as EM | |
b91d88dc | 82 | |
9a2cdbdf | 83 | ClassDef( AliPHOSPIDv0,2) // Particle identifier implementation version 1 |
b91d88dc | 84 | |
85 | }; | |
86 | ||
87 | #endif // AliPHOSPIDV0_H |