/// \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;
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
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
};
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
// 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 {
kNtrackSources ///< Total number of track sources
};
- // Trees
+ // Tree
enum {
kVarPx, ///< Px at vertex
kVarPy, ///< Py at vertex
kVarIPVx, ///< IP x position
kVarIPVy, ///< IP y position
kVarIPVz, ///< IP z position
+ kVarCentrality, ///< Event centrality
kNvarFloat
};
kNvarUInt
};
- // Trees MC
+ // Tree MC
enum {
kVarPxMC, ///< Px from Kine
kVarPyMC, ///< Py from Kine
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
};
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