]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/muon/AliAnalysisTaskSingleMu.h
Fix to correctly set mother type with Phojet simulations. Account for centrality...
[u/mrichter/AliRoot.git] / PWG3 / muon / AliAnalysisTaskSingleMu.h
index 22ea8e8024c26f8ec92ae53b5d5e03ae7983b4e5..640856c6a96d1b7ef132ca727b3fbe3447ff9028 100644 (file)
@@ -3,11 +3,16 @@
 /// \brief Analysis task for single muons in the spectrometer
 ///
 //  Author Diego Stocco
+#ifndef ALIANALYSISTASKSINGLEMU_H
+#define ALIANALYSISTASKSINGLEMU_H
+
+#include "AliAnalysisTaskSE.h"
 
 class TList;
 class AliMCParticle;
 class TTree;
 class TMap;
+class TObjArray;
 //class TAxis;
 class AliCFManager;
 
@@ -22,15 +27,16 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
   virtual void   NotifyRun();
   virtual void   FinishTaskOutput();
 
-  void SetRefTrigName(const Char_t* trigClassMB = "CINT1B",
-                     const Char_t* trigClassMU = "CMUS1B");
+  void SetTriggerClasses(TString triggerClasses = 
+                        "CINT1-B-NOPF CINT1-AC-NOPF CINT1-E-NOPF CMUS1-B-NOPF CMUS1-AC-NOPF CMUS1-E-NOPF CINT1B-ABCE-NOPF CINT1A-ABCE-NOPF CINT1C-ABCE-NOPF CMUS1B-ABCE-NOPF CMUS1A-ABCE-NOPF CMUS1C-ABCE-NOPF CINT5-B-NOPF CINT5-AC-NOPF CINT5-E-NOPF CMUS5-B-NOPF CMUS5-AC-NOPF CMUS5-E-NOPF CINT5B-ABCE-NOPF CINT5A-ABCE-NOPF CINT5C-ABCE-NOPF CMUS5B-ABCE-NOPF CMUS5A-ABCE-NOPF CMUS5C-ABCE-NOPF");
 
   /// Get CORRFW manager
   AliCFManager * GetCFManager() const { return fCFManager; }
 
   enum {
     kHvarPt,         ///< Pt at vertex
-    kHvarEta,        ///< Pseudo-rapidity
+    //    kHvarY,          ///< Rapidity
+    kHvarEta,        ///< Pseudo-Rapidity
     kHvarPhi,        ///< Phi
     kHvarDCA,        ///< DCA
     kHvarVz,         ///< Z vertex position
@@ -40,16 +46,15 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
     kHvarTrigClass,  ///< Trigger classes
     kHvarIsGoodVtx,  ///< IP vertex correctly reconstructed
     kHvarMotherType, ///< Mother type (MC only)
-    kNvars      ///< THnSparse dimensions
-  };  
+    kHvarCentrality, ///< Centrality class
+    kNvars           ///< THnSparse dimensions
+  };
 
   enum {
     kStepReconstructed,  ///< Reconstructed tracks
-    kStepAcceptance,     ///< Track in acceptance
-    kStepMuonRef,        ///< Reference muon
+    //kStepAcceptance,     ///< Track in acceptance
     kStepGeneratedMC,    ///< Generated tracks (MC)
-    kStepAcceptanceMC,   ///< Track in acceptance (MC)
-    kStepMuonRefMC,      ///< Reference muon) (MC)
+    //kStepAcceptanceMC,   ///< Track in acceptance (MC)
     kNsteps              ///< Number of steps
   };
   
@@ -63,7 +68,6 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
     kHistoNeventsPerTrig,    ///< Number of events per trigger
     kHistoMuonMultiplicity,  ///< Number of muons per event
     kHistoEventVz,           ///< Vertex z distribution for all events
-    kHistoEventVzNorm,       ///< Vertex z distribution normalized to the muon events
     kHistoNeventsPerRun,     ///< Number of triggers per run (for check)
     kHistoNmuonsPerRun,      ///< Number of muons per run (for check)
     kNsummaryHistos          ///< Number of summary histograms
@@ -80,8 +84,10 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
 
   // Histograms for MC
   enum {
-    kHistoCheckVzMC,    ///< Check vertex distribution
-    kNsummaryHistosMC ///< Summary histograms for MC
+    kHistoCheckVzMC,    ///< Check vertex distribution for all vertex
+    kHistoCheckVzHasVtxMC, ///< Check vertex distribution for reco vertex
+    kHistoCheckVzNoPileupMC, ///< Check vertex distribution for non-pileup vtx
+    kNsummaryHistosMC   ///< Summary histograms for MC
   };
 
   enum {
@@ -99,7 +105,7 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
     kNtrackSources  ///< Total number of track sources
   };
 
-  // Trees
+  // Tree
   enum {
     kVarPx, ///< Px at vertex
     kVarPy, ///< Py at vertex
@@ -127,6 +133,7 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
     kVarIPVx, ///< IP x position
     kVarIPVy, ///< IP y position
     kVarIPVz, ///< IP z position
+    kVarCentrality, ///< Event centrality
     kNvarFloat
   };
 
@@ -159,7 +166,7 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
     kNvarUInt
   };
   
-  // Trees MC
+  // Tree MC
   enum {
     kVarPxMC, ///< Px from Kine
     kVarPyMC, ///< Py from Kine
@@ -170,11 +177,24 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
     kVarVxMC, ///< Particle production x vertex from Kine
     kVarVyMC, ///< Particle production y vertex from Kine
     kVarVzMC, ///< Particle production z vertex from Kine
+    kVarMotherPxMC, ///< Mother px from Kine
+    kVarMotherPyMC, ///< Mother py from Kine
+    kVarMotherPzMC, ///< Mother pz from Kine
+    kVarMotherEtaMC,  ///< Mother eta from Kine
+    kVarMotherRapidityMC, ///< Mother rapidity from Kine
+    kVarMotherVxMC, ///< Mother production x vertex from Kine
+    kVarMotherVyMC, ///< Mother production y vertex from Kine
+    kVarMotherVzMC, ///< Mother production z vertex from Kine
+    // Global event info
+    kVarIPVxMC, ///< IP x position
+    kVarIPVyMC, ///< IP y position
+    kVarIPVzMC, ///< IP z position
     kNvarFloatMC
   };
 
   enum {
     kVarPdg, ///< PDG
+    kVarMotherPdg, ///< Mother PDG
     kVarMotherType, ///< Mother type
     kNvarIntMC
   };
@@ -195,21 +215,22 @@ class AliAnalysisTaskSingleMu : public AliAnalysisTaskSE {
   Int_t fFillTreeScaleDown; ///< Ntuple must be filled each fFillTreeScaleDown events
   Bool_t fKeepAll; ///< Flag indicating to keep all info in tree
   Int_t  fkNvtxContribCut; ///< Number of cuts in vertex contributors
+  TObjArray* fTriggerClasses; ///< full trigger class name
   AliCFManager* fCFManager; //!< Pointer to the CF manager
   TList* fHistoList;   //!< List of histograms for data
   TList* fHistoListMC; //!< List of histograms for MC
   TList* fHistoListQA; //!< List of QA histos
   TTree* fTreeSingleMu; //!< Optional output Tree
-  TTree* fTreeSingleMuMC; //!< Optional output Tree for MC
   Float_t* fVarFloat; //!< Reconstructed parameters float
   Int_t* fVarInt; //!< Reconstructed parameters int
   Char_t** fVarChar; //!< Reconstructed parameters string
   UInt_t* fVarUInt; //!< Reconstructed parameters Uint
   Float_t* fVarFloatMC; //!< MC parameters float
   Int_t* fVarIntMC; //!< MC parameters int
-  TMap* fVertexPerRun; //!< Map of vertex distribution per run
-  TString* fRefTrigName; //!< reference trigger class name for MB and muon events
+  TMap* fAuxObjects; //!< Map of vertex distribution per run
+  TString fDebugString; //!< Debug string
 
   ClassDef(AliAnalysisTaskSingleMu, 2); // Single muon analysis
 };
 
+#endif