//
#include "AliAnalysisTaskSE.h"
-#include "AliMuonTrackCuts.h"
-#include "AliMuonPairCuts.h"
class TString;
class TObjArray;
class AliAODEvent;
class AliESDEvent;
class AliCFGridSparse;
+class AliMuonTrackCuts;
+class AliMuonPairCuts;
class AliVAnalysisMuon : public AliAnalysisTaskSE {
public:
AliVAnalysisMuon(const char *name, const AliMuonTrackCuts& trackCuts);
AliVAnalysisMuon(const char *name, const AliMuonPairCuts& pairCuts);
AliVAnalysisMuon(const char *name, const AliMuonTrackCuts& trackCuts, const AliMuonPairCuts& pairCuts);
+
virtual ~AliVAnalysisMuon();
virtual void UserCreateOutputObjects();
void SetTrigClassPatterns(TString pattern = "CINT CMU !CMUP CMBAC CPBI !-ACE- !-AC- !-E- !WU !EGA !EJE");
void SetTerminateOptions(TString physSel="All", TString trigClass="ANY", TString centralityRange="", TString furtherOpts="");
+ /// Get muon track cuts
+ AliMuonTrackCuts* GetMuonTrackCuts() { return fMuonTrackCuts; }
+ /// Get muon pair cuts
+ AliMuonPairCuts* GetMuonPairCuts() { return fMuonPairCuts; }
+
// Utility methods for CF container
static Bool_t SetSparseRange(AliCFGridSparse* gridSparse,
Int_t ivar, TString labelName,
Bool_t IsMC();
Int_t GetNMCTracks();
AliVParticle* GetMCTrack(Int_t trackLabel);
+ Int_t GetMotherIndex(AliVParticle* mcParticle);
+ Int_t GetDaughterIndex(AliVParticle* mcParticle, Int_t idaughter);
Int_t GetParticleType(AliVParticle* track);
Int_t RecoTrackMother(AliVParticle* mcParticle);
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
kNtrackSources ///< Total number of track sources
};
- AliMuonTrackCuts fMuonTrackCuts; ///< Muon track cuts
- AliMuonPairCuts fMuonPairCuts; ///< Muon pair track cuts
+ AliMuonTrackCuts* fMuonTrackCuts; ///< Muon track cuts
+ AliMuonPairCuts* fMuonPairCuts; ///< Muon pair track cuts
AliESDEvent* fESDEvent; //!< ESD event, not owner
AliAODEvent* fAODEvent; //!< AOD event, not owner
TObjArray* fTerminateOptions; ///< Terminate options
TObjArray* fSelectedTrigLevel; ///< Track-trigger pt cut for selected trigger class
TObjArray* fOutputPrototypeList; //!< List of prototype object to be used in collection
- ClassDef(AliVAnalysisMuon, 1);
+ ClassDef(AliVAnalysisMuon, 2);
};
#endif