]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/totEt/AliAnalysisEtSelector.h
- modified addtask for pp for GammaConvV1
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisEtSelector.h
index f88e43382463b6910985ffa2ae4a024589e92608..92e20a30944a0958af9893efe288b47961155bfb 100644 (file)
@@ -42,12 +42,16 @@ public:
     
     // Return CaloClusters for the detector
     virtual TRefArray* GetClusters() { return 0; }
+
+    virtual Float_t ShiftAngle(Float_t phi);//Always returns an angle in radians between -pi<phi<pi
     
     // Return true if cluster has energy > cut
     virtual Bool_t PassMinEnergyCut(const AliESDCaloCluster &/*cluster*/) const { return true; }
     
     // 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; }
@@ -68,34 +72,43 @@ public:
     Int_t GetPrimary(const Int_t partIdx, AliStack &stack) const;
     
     // Cut on geometrical acceptance 
-    virtual Bool_t CutGeometricalAcceptance(const TParticle &/*part*/) const { return true; }
+    virtual Bool_t CutGeometricalAcceptance(const TParticle &/*part*/) { return true; }
     
     // Cut on geometrical acceptance 
-    virtual Bool_t CutGeometricalAcceptance(const AliVTrack &/*part*/) const { return true; }
+    virtual Bool_t CutGeometricalAcceptance(const AliVTrack &/*part*/) { return true; }
     
     // Cut on geometrical acceptance 
-    virtual Bool_t CutGeometricalAcceptance(const AliESDCaloCluster &/*part*/) 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 SuspeciousDecayInChain(const UInt_t suspectMotherPdg, const UInt_t suspectDaughterPdg, const TParticle& part, AliStack& stack) const;
+    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