]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/PHOSTasks/ClusterSelection/AliPHOSClusterSelection.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / ClusterSelection / AliPHOSClusterSelection.h
CommitLineData
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
13class AliVCluster;
ba4942ff 14class AliVCaloCells;
15
857ed760
HQ
16class AliESDCaloCluster;
17class AliAODCaloCluster;
cc909f95 18class AliVEvent;
857ed760
HQ
19
20#include "TObject.h"
21
ba4942ff 22class 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