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