// Return true if cluster has energy > cut
virtual Bool_t PassMinEnergyCut(const TParticle &/*part*/) const { return true; }
+
+ virtual Bool_t PassMinEnergyCut(Double_t e) const;
// Cut on distance to bad channel
virtual Bool_t PassDistanceToBadChannelCut(const AliESDCaloCluster &/*cluster*/) const { return true; }
virtual Bool_t CutGeometricalAcceptance(const AliESDCaloCluster &/*part*/) { return true; }
// From secondary vertex?
- virtual Bool_t FromSecondaryInteraction(const TParticle& part, AliStack& stack) const;
+ //virtual Bool_t FromSecondaryInteraction(const TParticle& part, AliStack& stack) const;
+ virtual Bool_t FromSecondaryInteraction(Int_t partID, AliStack& stack) const;
+
+ Int_t GetMother(Int_t partID, AliStack& stack) const;
+ Bool_t IsFromDetectorCover(Int_t partID, AliStack& stack) const;
+ Int_t GetFirstMotherNotFromDetectorCover(Int_t partID, AliStack& stack) const;
// Cluster is in correct detector
virtual Bool_t IsDetectorCluster(const AliESDCaloCluster &cluster) const = 0;
// Get correct cluster label - PHOS needs different method
virtual UInt_t GetLabel(const AliESDCaloCluster *cluster, AliStack *stack){if(!stack){return 0;}else{return TMath::Abs(cluster->GetLabel());}}
+ AliAnalysisEtCuts * GetCuts() const { return fCuts; }
protected:
- const AliVEvent *fEvent; // Pointer to current event
+ const AliVEvent *fEvent; //! Pointer to current event
- TRefArray *fClusterArray; // Array of clusters
+ TRefArray *fClusterArray; //! Array of clusters
- AliAnalysisEtCuts *fCuts; // Pointer to the cuts object; DS: also in base class?
+ AliAnalysisEtCuts *fCuts; //! Pointer to the cuts object; DS: also in base class?
Bool_t SuspiciousDecayInChain(const UInt_t suspectMotherPdg, const UInt_t suspectDaughterPdg, const TParticle& part, AliStack& stack) const;
Int_t fRunNumber;
Bool_t fInitialized; // matrix initialized
-
+
private:
//AliAnalysisEtSelector(); // Prohibited