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