]>
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$ | |
11 | */ | |
b91d88dc | 12 | |
13 | //_________________________________________________________________________ | |
14 | // Implementation version v0 of the PHOS particle identifier | |
15 | // Identification is based on information from PPSD and EMC | |
16 | // Oh yeah | |
17 | //*-- Author: Yves Schutz (SUBATECH) | |
18 | ||
19 | // --- ROOT system --- | |
20 | class TFormula ; | |
21 | class TVector3 ; | |
22 | ||
23 | // --- Standard library --- | |
24 | ||
25 | // --- AliRoot header files --- | |
26 | class AliPHOSEmcRecPoint ; | |
27 | class AliPHOSRecPoint ; | |
28 | ||
29 | #include "AliPHOSPID.h" | |
30 | ||
31 | class AliPHOSPIDv0 : public AliPHOSPID { | |
32 | ||
33 | public: | |
34 | ||
35 | AliPHOSPIDv0() ; // ctor | |
88cb7938 | 36 | AliPHOSPIDv0(const char* evFolderName, const char * tsBranch = "Default"); |
b91d88dc | 37 | virtual ~AliPHOSPIDv0() ; // dtor |
38 | ||
39 | virtual void Exec(Option_t * option); | |
fbf811ec | 40 | // virtual char * GetRecParticlesBranch()const {return (char*) fRecParticlesTitle.Data() ;} |
41 | // virtual char * GetTrackSegmentsBranch()const{return (char*) fTrackSegmentsTitle.Data(); } | |
fc7e2f43 | 42 | virtual Int_t GetRecParticlesInRun() const {return fRecParticlesInRun ;} |
b91d88dc | 43 | |
44 | virtual void PlotDispersionCuts()const ; | |
702ab87e | 45 | virtual void Print(const Option_t * = "")const ; |
8e8eae84 | 46 | virtual void SetIdentificationMethod(const char * option = "CPV DISP" ){fIDOptions = option ;} |
47 | 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 | 48 | virtual void SetDispersionCut(Float_t cut){fDispersion = cut ; } |
49 | virtual void SetCpvtoEmcDistanceCut(Float_t cut ) {fCpvEmcDistance = cut ;} | |
50 | virtual void SetTimeGate(Float_t gate) {fTimeGate = gate ;} | |
fbf811ec | 51 | // virtual void SetTrackSegmentsBranch(const char* title) { fTrackSegmentsTitle = title;} |
52 | // virtual void SetRecParticlesBranch (const char* title) { fRecParticlesTitle = title;} | |
8e8eae84 | 53 | virtual const char * Version() const { return "pid-v0" ; } |
88cb7938 | 54 | |
b91d88dc | 55 | private: |
56 | ||
57 | virtual void Init() ; | |
58 | void MakeRecParticles(void ) ; | |
59 | Float_t GetDistance(AliPHOSEmcRecPoint * emc, AliPHOSRecPoint * cpv, Option_t * Axis)const ; // Relative Distance CPV-EMC | |
60 | TVector3 GetMomentumDirection(AliPHOSEmcRecPoint * emc, AliPHOSRecPoint * cpv)const ; | |
61 | void PrintRecParticles(Option_t * option) ; | |
88cb7938 | 62 | virtual void WriteRecParticles(); |
b91d88dc | 63 | |
64 | private: | |
65 | ||
b91d88dc | 66 | TString fTrackSegmentsTitle; // branch name with track segments |
67 | TString fRecPointsTitle ; // branch name with rec points | |
68 | TString fRecParticlesTitle ; // branch name with rec particles | |
69 | TString fIDOptions ; // PID option | |
70 | Int_t fNEvent ; // current event number | |
71 | ||
72 | AliPHOSClusterizer * fClusterizer ; // ! | |
73 | AliPHOSTrackSegmentMaker * fTSMaker ; // ! | |
74 | ||
fbf811ec | 75 | TFormula * fFormula ; // formula to define cut on the shower elips axis |
b91d88dc | 76 | Float_t fDispersion ; // dispersion cut |
77 | Float_t fCpvEmcDistance ; // Max EMC-CPV distance | |
78 | Float_t fTimeGate ; // Time of the latest EmcRecPoint accepted as EM | |
79 | Int_t fRecParticlesInRun ; //! Total number of recparticles in one run | |
80 | ||
81 | ClassDef( AliPHOSPIDv0,1) // Particle identifier implementation version 1 | |
82 | ||
83 | }; | |
84 | ||
85 | #endif // AliPHOSPIDV0_H |