]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/muon/AliVAnalysisMuon.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muon / AliVAnalysisMuon.h
index 09d87e83cace6914e2f6eb948298047eb1ac6f5a..ebd142756fd5e5ad1d7ecf6b5d21be8862d9d381 100644 (file)
@@ -27,6 +27,7 @@ class AliMuonEventCuts;
 class AliMuonTrackCuts;
 class AliMuonPairCuts;
 class AliVVertex;
+class AliUtilityMuonAncestor;
 
 class AliVAnalysisMuon : public AliAnalysisTaskSE {
  public:
@@ -69,6 +70,26 @@ class AliVAnalysisMuon : public AliAnalysisTaskSE {
   
   void SetWeight ( TObject* wgtObj );
   TObject* GetWeight ( const char* wgtName );
+  
+  enum {
+    kPhysSelPass,    ///< Physics selected events
+    kPhysSelReject,  ///< Events non-passing selection
+    kNselections     ///< Number of selections
+  };
+  
+  enum {
+    kCharmMu,       ///< Mu from charm
+    kBeautyMu,      ///< Mu from beauty
+    kQuarkoniumMu,  ///< Mu from resonance
+    kWbosonMu,      ///< Mu from W
+    kZbosonMu,      ///< Mu from Z
+    kDecayMu,       ///< Decay mu
+    kSecondaryMu,   ///< Secondary mu
+    kRecoHadron,    ///< Reconstructed hadron
+    kUnidentified,  ///< Particle that fails matching kine
+    kNtrackSources  ///< Total number of track sources
+  };
+
 
  protected:
   
@@ -93,32 +114,14 @@ class AliVAnalysisMuon : public AliAnalysisTaskSE {
   /////////////////////
     
   // Methods for MC
-  Int_t GetParticleType(AliVParticle* track);
-  Int_t RecoTrackMother(AliVParticle* mcParticle);
+  Int_t GetParticleType ( AliVParticle* track );
   
   // Methods for mergeable object collections
   Bool_t AddObjectToCollection(TObject* object, Int_t index = -1);
   TObject* GetMergeableObject(TString physSel, TString trigClassName, TString centrality, TString objectName);
   TObject* GetSum(TString physSel, TString trigClassNames, TString centrality, TString objectPattern);
   
-  enum {
-    kPhysSelPass,    ///< Physics selected events
-    kPhysSelReject,  ///< Events non-passing selection
-    kNselections     ///< Number of selections
-  };
-  
-  enum {
-    kCharmMu,       ///< Mu from charm
-    kBeautyMu,      ///< Mu from beauty
-    kQuarkoniumMu,  ///< Mu from resonance
-    kWbosonMu,      ///< Mu from W
-    kDecayMu,       ///< Decay mu
-    kSecondaryMu,   ///< Secondary mu
-    kRecoHadron,    ///< Reconstructed hadron
-    kUnidentified,  ///< Particle that fails matching kine
-    kNtrackSources  ///< Total number of track sources
-  };
-  
+    
   AliMuonEventCuts* fMuonEventCuts; ///< Muon event cuts
   AliMuonTrackCuts* fMuonTrackCuts; ///< Muon track cuts
   AliMuonPairCuts* fMuonPairCuts;   ///< Muon pair track cuts
@@ -129,6 +132,7 @@ class AliVAnalysisMuon : public AliAnalysisTaskSE {
   TObjArray* fSrcKeys;         ///< MC sources names
   TObjArray* fPhysSelKeys;     ///< Physics selection names
   THashList* fWeights;         ///< List of objects to weight histograms
+  AliUtilityMuonAncestor* fUtilityMuonAncestor; ///< Utility to get the muon ancestor
   
   AliCounterCollection* fEventCounters;  //!< event counters
   AliMergeableCollection* fMergeableCollection; //!< collection of mergeable objects
@@ -142,7 +146,7 @@ class AliVAnalysisMuon : public AliAnalysisTaskSE {
   void CreateMergeableObjects(TString physSel, TString trigClassName, TString centrality);
   TObjArray* fOutputPrototypeList; //!< List of prototype object to be used in collection
 
-  ClassDef(AliVAnalysisMuon, 5);
+  ClassDef(AliVAnalysisMuon, 6);
 };
 
 #endif