1 #ifndef ALIPHOSCLUSTERSELECTION_CXX
2 #define ALIPHOSCLUSTERSELECTION_CXX
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 // Class for selection of PHOS clusters
8 // Authors : Henrik Qvigstad
14 class AliESDCaloCluster;
15 class AliAODCaloCluster;
20 class AliPHOSClusterSelection : TObject {
22 AliPHOSClusterSelection();
23 virtual ~AliPHOSClusterSelection();
25 // Selection functions
26 virtual Bool_t IsSelected(AliVCluster* cluster) const;
28 virtual Bool_t IsSelectedCPV(AliVCluster* cluster) const;
29 virtual Bool_t IsSelectedUnfolded(AliVCluster* cluster) const;
30 virtual Bool_t IsSelectedDisp(AliVCluster* cluster) const;
31 virtual Bool_t IsSelectedTOF(AliVCluster* cluster) const;
33 // Configuration Functions
34 AliPHOSClusterSelection* SetMinChargedParticleTrackDistance(Float_t distance);
35 AliPHOSClusterSelection* SetNotUnfolded(Bool_t notUnfolded);
36 AliPHOSClusterSelection* SetMaxDispR2(Float_t maxR2);
37 AliPHOSClusterSelection* SetCoreRadius(Float_t radius);
38 AliPHOSClusterSelection* SetMaxTOF(Float_t maxTOF);
40 AliPHOSClusterSelection* SetMinSelection();
42 virtual TString ToString() const;
43 static Float_t GetMinChargedParticleTrackDistance(const TString string);
44 static Bool_t GetUnfolded(const TString string);
45 static Float_t GetMaxDispR2(const TString string);
46 static Float_t GetCoreRadius(const TString string);
47 static Float_t GetMaxTOF(const TString string);
51 AliPHOSClusterSelection(const AliPHOSClusterSelection&); // not implemented
52 AliPHOSClusterSelection& operator=(const AliPHOSClusterSelection&); // not implemented
54 Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge, Double_t mf);//Copied from Pi0Flow task
55 void AliPHOSClusterSelection::EvalCoreLambdas(AliVCluster * clu, AliVCaloCells * cells,Double_t &m02, Double_t &m20);//Copied from Pi0Flow task
56 Bool_t AliAnalysisTaskPi0Flow::TestLambda(Double_t pt,Double_t l1,Double_t l2);//Copied from Pi0FlowTask
57 // Selection Parameters
58 Float_t fMinChargedParticleTrackDistance; // CPV, Charged Particle Veto
59 Bool_t fNotUnfolded; // if true, rejects Unfolded Clusters
60 Float_t fMaxDispR2; // dispersion cut
61 Float_t fCoreRadius; // Core radius
62 Float_t fMaxTOF; // TOF cut
64 AliVEvent* GetCurrentEvent() const;
66 ClassDef(AliPHOSClusterSelection, 1);