]>
Commit | Line | Data |
---|---|---|
857ed760 HQ |
1 | #ifndef ALIPHOSCLUSTERSELECTION_CXX |
2 | #define ALIPHOSCLUSTERSELECTION_CXX | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // Class for selection of PHOS clusters | |
8 | // Authors : Henrik Qvigstad | |
9 | // Date : 16.01.2014 | |
10 | /* $Id$ */ | |
11 | ||
12 | ||
13 | class AliVCluster; | |
ba4942ff | 14 | class AliVCaloCells; |
15 | ||
857ed760 HQ |
16 | class AliESDCaloCluster; |
17 | class AliAODCaloCluster; | |
cc909f95 | 18 | class AliVEvent; |
857ed760 HQ |
19 | |
20 | #include "TObject.h" | |
21 | ||
ba4942ff | 22 | class AliPHOSClusterSelection : public TObject { |
857ed760 HQ |
23 | public: |
24 | AliPHOSClusterSelection(); | |
25 | virtual ~AliPHOSClusterSelection(); | |
09413c54 | 26 | |
857ed760 HQ |
27 | // Selection functions |
28 | virtual Bool_t IsSelected(AliVCluster* cluster) const; | |
29 | ||
30 | virtual Bool_t IsSelectedCPV(AliVCluster* cluster) const; | |
31 | virtual Bool_t IsSelectedUnfolded(AliVCluster* cluster) const; | |
32 | virtual Bool_t IsSelectedDisp(AliVCluster* cluster) const; | |
857ed760 HQ |
33 | virtual Bool_t IsSelectedTOF(AliVCluster* cluster) const; |
34 | ||
35 | // Configuration Functions | |
36 | AliPHOSClusterSelection* SetMinChargedParticleTrackDistance(Float_t distance); | |
37 | AliPHOSClusterSelection* SetNotUnfolded(Bool_t notUnfolded); | |
38 | AliPHOSClusterSelection* SetMaxDispR2(Float_t maxR2); | |
ba4942ff | 39 | AliPHOSClusterSelection* SetIsCore(Bool_t isCore); |
857ed760 | 40 | AliPHOSClusterSelection* SetMaxTOF(Float_t maxTOF); |
09413c54 | 41 | |
ba4942ff | 42 | //AliPHOSClusterSelection* SetMinSelection(); |
857ed760 HQ |
43 | |
44 | virtual TString ToString() const; | |
ba4942ff | 45 | static Float_t GetMinChargedParticleTrackDistance(const TString& string); |
46 | static Bool_t GetUnfolded(const TString& string); | |
47 | static Float_t GetMaxDispR2(const TString& string); | |
48 | static Bool_t GetIsCore(const TString& string); | |
49 | static Float_t GetMaxTOF(const TString& string); | |
17ba2205 | 50 | |
51 | ||
857ed760 HQ |
52 | protected: |
53 | AliPHOSClusterSelection(const AliPHOSClusterSelection&); // not implemented | |
54 | AliPHOSClusterSelection& operator=(const AliPHOSClusterSelection&); // not implemented | |
09413c54 | 55 | |
ba4942ff | 56 | Double_t TestCPV(Double_t dx, Double_t dz, Double_t pt, Int_t charge, Double_t mf) const;//Copied from Pi0Flow task |
57 | void EvalCoreLambdas(AliVCluster * clu, AliVCaloCells * cells,Double_t &m02, Double_t &m20) const;//Copied from Pi0Flow task | |
58 | Bool_t TestLambda(Double_t pt,Double_t l1,Double_t l2) const;//Copied from Pi0FlowTask | |
09413c54 | 59 | |
857ed760 HQ |
60 | // Selection Parameters |
61 | Float_t fMinChargedParticleTrackDistance; // CPV, Charged Particle Veto | |
62 | Bool_t fNotUnfolded; // if true, rejects Unfolded Clusters | |
63 | Float_t fMaxDispR2; // dispersion cut | |
e13f7335 | 64 | Bool_t fIsCore; // If true, core radius disp is calculated |
857ed760 | 65 | Float_t fMaxTOF; // TOF cut |
cc909f95 | 66 | |
09413c54 | 67 | enum ParameterIndex {kVersion, kMinChargedParticleTrackDistance, kNotUnfolded, |
68 | kMaxDispR2, kIsCore, kMaxTOF, kNParameters }; | |
69 | ||
cc909f95 | 70 | AliVEvent* GetCurrentEvent() const; |
17ba2205 | 71 | |
857ed760 HQ |
72 | ClassDef(AliPHOSClusterSelection, 1); |
73 | }; | |
74 | ||
75 | #endif |