ROOT logo
AliRoot » PWGGA » GAMMACONV » AliCaloPhotonCuts

class AliCaloPhotonCuts: public AliAnalysisCuts


 Class handling all kinds of selection cuts for
 Photon from EMCAL clusters


Function Members (Methods)

public:
AliCaloPhotonCuts(const AliCaloPhotonCuts&)
AliCaloPhotonCuts(const char* name = "ClusterCuts", const char* title = "Cluster Cuts")
virtual~AliCaloPhotonCuts()
voidTObject::AbstractMethod(const char* method) const
Bool_tAcceptanceCuts(AliVCluster* cluster, AliVEvent* event)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
Bool_tClusterIsSelected(AliVCluster* cluster, AliVEvent* event, Bool_t isMC)
Bool_tClusterIsSelectedAODMC(AliAODMCParticle* particle, TClonesArray* aodmcArray)
Bool_tClusterIsSelectedMC(TParticle* particle, AliStack* fMCStack)
Bool_tClusterQualityCuts(AliVCluster* cluster, AliVEvent* event, Bool_t isMC)
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
voidFillClusterCutIndex(Int_t photoncut)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tGetClusterType()
TList*GetCutHistograms()
TStringGetCutNumber()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual UInt_tAliAnalysisCuts::GetFilterMask() const
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TList*AliAnalysisCuts::GetOutput()
virtual UInt_tAliVCuts::GetSelectionMask(const TObject*)
virtual TObject*AliAnalysisCuts::GetStatistics(Option_t*) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidAliAnalysisCuts::Init()
voidInitCutHistograms(TString name = "")
Bool_tInitializeCutsFromCutString(const TString analysisCutSelection)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsSelected(TObject*)
virtual Bool_tIsSelected(TList*)
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
Bool_tMatchConvPhotonToCluster(AliAODConversionPhoton* convPhoton, AliVCluster* cluster, AliVEvent* event)
voidTObject::MayNotUse(const char* method) const
virtual Long64_tAliAnalysisCuts::Merge(TCollection*)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliCaloPhotonCuts&operator=(const AliCaloPhotonCuts&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidPrintCuts()
voidPrintCutsWithValues()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual UInt_tAliAnalysisCuts::Selected() const
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
Bool_tSetClusterTypeCut(Int_t)
Bool_tSetCut(AliCaloPhotonCuts::cutIds cutID, Int_t cut)
Bool_tSetCutIds(TString cutString)
Bool_tSetDispersion(Int_t)
Bool_tSetDistanceToBadChannelCut(Int_t)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tSetExoticCellCut(Int_t)
voidSetExtendedMatching(Bool_t extendedMatching)
voidSetFillCutHistograms(TString name = "")
virtual voidAliAnalysisCuts::SetFilterMask(UInt_t mask)
Bool_tSetMaxEtaCut(Int_t)
Bool_tSetMaxM02(Int_t)
Bool_tSetMaxM20(Int_t)
Bool_tSetMaxPhiCut(Int_t)
Bool_tSetMinEnergyCut(Int_t)
Bool_tSetMinEtaCut(Int_t)
Bool_tSetMinM02(Int_t)
Bool_tSetMinM20(Int_t)
Bool_tSetMinNCellsCut(Int_t)
Bool_tSetMinPhiCut(Int_t)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
Bool_tSetNLM(Int_t)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidAliAnalysisCuts::SetSelected(Bool_t dec)
Bool_tSetTimingCut(Int_t)
virtual voidTNamed::SetTitle(const char* title = "")MENU
Bool_tSetTrackMatchingCut(Int_t)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_tUpdateCutString()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum cutIds { kClusterType
kEtaMin
kEtaMax
kPhiMin
kPhiMax
kDistanceToBadChannel
kTiming
kTrackMatching
kExoticCell
kMinEnery
kNMinCells
kMinM02
kMaxM02
kMinM20
kMaxM20
kDispersion
kNLM
kNCuts
};
enum photonCuts { kPhotonIn
kDetector
kAcceptance
kClusterQuality
kPhotonOut
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
Int_tfCuts[17]
static const char*fgkCutNames[17]
protected:
Int_tfClusterTypewhich cluster do we have
TObjString*fCutStringcut number used for analysis
Double_tfExoticCellexotic cell cut
Bool_tfExtendedMatchingflag for switching on extended matching histograms
TH1F*fHistAcceptanceCutsbookkeeping for acceptance cuts
TH2F*fHistClusterEtavsPhiAfterAcceta-phi-distribution of all after acceptance cuts
TH2F*fHistClusterEtavsPhiAfterQAeta-phi-distribution of all after cluster quality cuts
TH2F*fHistClusterEtavsPhiBeforeAcceta-phi-distribution before acceptance cuts
TH1F*fHistClusterIdentificationCutsbookkeeping for cluster identification cuts
TH2F*fHistClusterM02Pt_dPhiBeforeQA2-dim plot M02 vs. Pt for given dPhi>0.05
TH2F*fHistClusterM20M02AfterQA2-dim plot M20 vs. M20
TH2F*fHistClusterM20M02BeforeQA2-dim plot M20 vs. M02
TH2F*fHistClusterM20Pt_dPhiBeforeQA2-dim plot M20 vs. Pt for given dPhi>0.05
TH1F*fHistClusterRAfterQAcluster position in R=SQRT(x^2+y^2) for matched tracks (After QA)
TH1F*fHistClusterRBeforeQAcluster position in R=SQRT(x^2+y^2) (before QA)
TH2F*fHistClusterTimevsEAfterQACluster time vs E after cluster quality cuts
TH2F*fHistClusterTimevsEBeforeQACluster time vs E before cluster quality cuts
TH2F*fHistClusterdEtadPhiAfterQA2-dim plot dEta vs. dPhi for matched tracks (after QA)
TH2F*fHistClusterdEtadPhiBeforeQA2-dim plot dEta vs. dPhi
TH2F*fHistClusterdEtadPhiNegTracksAfterQA2-dim plot dEta vs. dPhi
TH2F*fHistClusterdEtadPhiNegTracksBeforeQA2-dim plot dEta vs. dPhi
TH2F*fHistClusterdEtadPhiNegTracks_P14_BeforeQA2-dim plot dEta vs. dPhi, negative Tracks, 1 < P < 4
TH2F*fHistClusterdEtadPhiNegTracks_P1_BeforeQA2-dim plot dEta vs. dPhi, negative Tracks, P < 1
TH2F*fHistClusterdEtadPhiNegTracks_P4_BeforeQA2-dim plot dEta vs. dPhi, negative Tracks, P > 4
TH2F*fHistClusterdEtadPhiPosTracksAfterQA2-dim plot dEta vs. dPhi
TH2F*fHistClusterdEtadPhiPosTracksBeforeQA2-dim plot dEta vs. dPhi
TH2F*fHistClusterdEtadPhiPosTracks_P14_BeforeQA2-dim plot dEta vs. dPhi, positive Tracks, 1 < P < 4
TH2F*fHistClusterdEtadPhiPosTracks_P1_BeforeQA2-dim plot dEta vs. dPhi, positive Tracks, P < 1
TH2F*fHistClusterdEtadPhiPosTracks_P4_BeforeQA2-dim plot dEta vs. dPhi, positive Tracks, P > 4
TH2F*fHistClusterdEtadPtBeforeQA2-dim plot dEta vs. Pt
TH2F*fHistClusterdPhidPtBeforeQA2-dim plot dEta vs. Pt
TH1F*fHistCutIndexbookkeeping for cuts
TH1F*fHistDispersionAfterQAdispersion after cluster quality cuts
TH1F*fHistDispersionBeforeQAdispersion before acceptance cuts
TH1F*fHistDistanceTrackToClusterAfterQAdistance cluster to track after cluster quality cuts
TH1F*fHistDistanceTrackToClusterBeforeQAdistance cluster to track before acceptance cuts
TH1F*fHistEnergyOfClusterAfterQAenery per cluster after cluster quality cuts
TH1F*fHistEnergyOfClusterBeforeQAenery per cluster before acceptance cuts
TH1F*fHistM02AfterQAM02 after cluster quality cuts
TH1F*fHistM02BeforeQAM02 before acceptance cuts
TH1F*fHistM20AfterQAM20 after cluster quality cuts
TH1F*fHistM20BeforeQAM20 before acceptance cuts
TH1F*fHistNCellsAfterQAnumber of cells per cluster after cluster quality cuts
TH1F*fHistNCellsBeforeQAnumber of cells per cluster before acceptance cuts
TList*fHistograms
Double_tfMaxDispersionmaximum dispersion
Double_tfMaxDistTrackToClusterEtaminimum distance between track and cluster in eta
Double_tfMaxDistTrackToClusterPhimaximum distance between track and cluster in phi
Double_tfMaxEtaCutmax eta cut
Double_tfMaxM02maximum M02
Double_tfMaxM20maximum M20
Int_tfMaxNLMmaximum number of local maxima in cluster
Double_tfMaxPhiCutphi cut
Double_tfMaxTimeDiffmaximum time difference to triggered collision
Double_tfMinDistTrackToClusterPhiminimum distance between track and cluster in phi
Double_tfMinDistanceToBadChannelminimum distance to bad channel
Double_tfMinEnergyminium energy per cluster
Double_tfMinEtaCutmin eta cut
Double_tfMinM02minimum M02
Double_tfMinM20minimum M20
Int_tfMinNCellsminimum number of cells
Int_tfMinNLMminimum number of local maxima in cluster
Double_tfMinPhiCutphi cut
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
Bool_tfUseDispersionflag for switching on dispersion cut
Bool_tfUseDistTrackToClusterflag for switching on distance between track and cluster cut
Bool_tfUseDistanceToBadChannelflag for switching on distance to bad channel cut
Bool_tfUseEtaCutflag for switching on eta cut
Bool_tfUseExoticCellflag for switching on exotic cell cut
Bool_tfUseM02flag for switching on M02 cut
Bool_tfUseM20flag for switching on M20 cut
Bool_tfUseMinEnergyflag for switching on minimum energy cut
Bool_tfUseNCellsflag for switching on minimum N Cells cut
Bool_tfUseNLMflag for switching on NLM cut
Bool_tfUsePhiCutflag for switching on phi cut
Bool_tfUseTimeDiffflag for switching on time difference cut

Class Charts

Inheritance Chart:
TNamed
AliVCuts
AliAnalysisCuts
AliCaloPhotonCuts

Function documentation

AliCaloPhotonCuts(const char* name = "ClusterCuts", const char* title = "Cluster Cuts")
fHistDistanceToBadChannelBeforeAcc(NULL),
fHistDistanceToBadChannelAfterAcc(NULL),
fHistExoticCellBeforeQA(NULL),
fHistExoticCellAfterQA(NULL),
fHistNMatchedTracks(NULL),
fHistNLMBeforeQA(NULL),
fHistNLMAfterQA(NULL),
AliCaloPhotonCuts(const AliCaloPhotonCuts& )
fHistDistanceToBadChannelBeforeAcc(NULL),
fHistDistanceToBadChannelAfterAcc(NULL),
fHistExoticCellBeforeQA(NULL),
fHistExoticCellAfterQA(NULL),
fHistNMatchedTracks(NULL),
fHistNLMBeforeQA(NULL),
fHistNLMAfterQA(NULL),
 Copy Constructor
~AliCaloPhotonCuts()
 Destructor
Deleting fHistograms leads to seg fault it it's added to output collection of a task
 if(fHistograms)
    delete fHistograms;
 fHistograms = NULL;
void InitCutHistograms(TString name = "")
Bool_t ClusterIsSelectedMC(TParticle* particle, AliStack* fMCStack)
 MonteCarlo Photon Selection
Bool_t ClusterIsSelectedAODMC(AliAODMCParticle* particle, TClonesArray* aodmcArray)
 MonteCarlo Photon Selection
Bool_t ClusterQualityCuts(AliVCluster* cluster, AliVEvent* event, Bool_t isMC)
Bool_t ClusterIsSelected(AliVCluster* cluster, AliVEvent* event, Bool_t isMC)
Selection of Reconstructed photon clusters with Calorimeters
Bool_t AcceptanceCuts(AliVCluster* cluster, AliVEvent* event)
 Exclude certain areas for photon reconstruction
Bool_t MatchConvPhotonToCluster(AliAODConversionPhoton* convPhoton, AliVCluster* cluster, AliVEvent* event)
Bool_t UpdateCutString()
Update the cut string (if it has been created yet)
Bool_t InitializeCutsFromCutString(const TString analysisCutSelection)
 Initialize Cuts from a given Cut string
Bool_t SetCut(AliCaloPhotonCuts::cutIds cutID, Int_t cut)
Set individual cut ID
void PrintCuts()
 Print out current Cut Selection
void PrintCutsWithValues()
 Print out current Cut Selection with value
Bool_t SetClusterTypeCut(Int_t )
Bool_t SetMinEtaCut(Int_t )
Bool_t SetMaxEtaCut(Int_t )
Bool_t SetMinPhiCut(Int_t )
Bool_t SetMaxPhiCut(Int_t )
Bool_t SetDistanceToBadChannelCut(Int_t )
Bool_t SetTimingCut(Int_t )
Bool_t SetTrackMatchingCut(Int_t )
Bool_t SetExoticCellCut(Int_t )
Bool_t SetMinEnergyCut(Int_t )
Bool_t SetMinNCellsCut(Int_t )
Bool_t SetMaxM02(Int_t )
Bool_t SetMinM02(Int_t )
Bool_t SetMaxM20(Int_t )
Bool_t SetMinM20(Int_t )
Bool_t SetDispersion(Int_t )
Bool_t SetNLM(Int_t )
TString GetCutNumber()
 returns TString with current cut number
Bool_t SetCutIds(TString cutString)
Int_t GetClusterType()
{return fClusterType; }
AliCaloPhotonCuts& operator=(const AliCaloPhotonCuts& )
Bool_t IsSelected(TObject* )
{return kTRUE;}
Bool_t IsSelected(TList* )
{return kTRUE;}
void SetFillCutHistograms(TString name = "")
TList* GetCutHistograms()
{return fHistograms;}
void FillClusterCutIndex(Int_t photoncut)
{if(fHistCutIndex)fHistCutIndex->Fill(photoncut);}
void SetExtendedMatching(Bool_t extendedMatching)
{fExtendedMatching = extendedMatching;}