#ifndef ALIANALYSISMUONUTILITY_H
#define ALIANALYSISMUONUTILITY_H
#include "TObject.h"
#include "TString.h"
class TLorentzVector;
class AliInputEventHandler;
class AliVEvent;
class AliMCEvent;
class AliVParticle;
class AliVVertex;
class AliCFGridSparse;
class AliAnalysisMuonUtility : public TObject {
public:
static Bool_t SetSparseRange(AliCFGridSparse* gridSparse,
Int_t ivar, TString labelName,
Double_t varMin, Double_t varMax,
TString option = "");
static Bool_t IsAODEvent ( const AliVEvent* event );
static TString GetFiredTriggerClasses ( const AliVEvent* event );
static Int_t GetNTracks ( const AliVEvent* event );
static AliVParticle* GetTrack ( Int_t itrack, const AliVEvent* event );
static UInt_t GetL0TriggerInputs ( const AliVEvent* event );
static UInt_t GetL1TriggerInputs ( const AliVEvent* event );
static UInt_t GetL2TriggerInputs ( const AliVEvent* event );
static Bool_t IsAODTrack ( const AliVParticle* track );
static Bool_t IsMuonTrack ( const AliVParticle* track );
static Bool_t IsMuonGhost ( const AliVParticle* track );
static Double_t GetRabs ( const AliVParticle* track );
static Double_t GetThetaAbsDeg ( const AliVParticle* track );
static Int_t GetMatchTrigger ( const AliVParticle* track );
static Bool_t MatchApt ( const AliVParticle* track ) { return GetMatchTrigger(track) >= 1; }
static Bool_t MatchLpt ( const AliVParticle* track ) { return GetMatchTrigger(track) >= 2; }
static Bool_t MatchHpt ( const AliVParticle* track ) { return GetMatchTrigger(track) >= 3; }
static Double_t GetChi2perNDFtracker ( const AliVParticle* track );
static Double_t GetChi2MatchTrigger ( const AliVParticle* track );
static Double_t GetXatVertex ( const AliVParticle* track );
static Double_t GetYatVertex ( const AliVParticle* track );
static Double_t GetZatVertex ( const AliVParticle* track );
static Double_t GetXatDCA ( const AliVParticle* track );
static Double_t GetYatDCA ( const AliVParticle* track );
static Double_t GetZatDCA ( const AliVParticle* track ) { return GetZatVertex(track); }
static Bool_t IsTrkChamberHit( Int_t chamber, const AliVParticle* track );
static UInt_t GetMUONTrigHitsMapTrk ( const AliVParticle* track );
static UInt_t GetMUONTrigHitsMapTrg ( const AliVParticle* track );
static Int_t GetMuonTrigDevSign ( const AliVParticle* track );
static Int_t GetLoCircuit ( const AliVParticle* track );
static TLorentzVector GetTrackPair ( const AliVParticle* track1, const AliVParticle* track2 );
static Double_t GetMCVertexZ ( const AliVEvent* event, const AliMCEvent* mcEvent );
static Bool_t IsAODMCTrack ( const AliVParticle* mcParticle );
static Bool_t IsMCTrack ( const AliVParticle* mcParticle );
static Int_t GetMotherIndex ( const AliVParticle* mcParticle );
static Int_t GetDaughterIndex ( const AliVParticle* mcParticle, Int_t idaughter );
static Bool_t IsPrimary ( const AliVParticle* mcParticle, const AliMCEvent* mcEvent );
static UInt_t GetMCProcess ( const AliVParticle* mcParticle );
static UInt_t GetStatusCode ( const AliVParticle* mcParticle );
static Bool_t EAGetTZEROFlags(const AliVEvent* event, Bool_t& backgroundFlag, Bool_t& pileupFlag, Bool_t& satelliteFlag);
static Double_t MuonMass2();
static AliVVertex* GetVertexSPD ( const AliVEvent* event );
static Int_t GetPassNumber ( const AliInputEventHandler* eventHandler );
static Int_t GetPassNumber ( const char* str );
static TString GetPassName ( const AliInputEventHandler* eventHandler );
static TString GetPassName ( const char* str );
static TString GetTrackHistory ( const AliVParticle* track, const AliMCEvent* mcEvent, Bool_t verbose = kFALSE );
ClassDef(AliAnalysisMuonUtility, 0);
};
#endif
AliAnalysisMuonUtility.h:1 AliAnalysisMuonUtility.h:2 AliAnalysisMuonUtility.h:3 AliAnalysisMuonUtility.h:4 AliAnalysisMuonUtility.h:5 AliAnalysisMuonUtility.h:6 AliAnalysisMuonUtility.h:7 AliAnalysisMuonUtility.h:8 AliAnalysisMuonUtility.h:9 AliAnalysisMuonUtility.h:10 AliAnalysisMuonUtility.h:11 AliAnalysisMuonUtility.h:12 AliAnalysisMuonUtility.h:13 AliAnalysisMuonUtility.h:14 AliAnalysisMuonUtility.h:15 AliAnalysisMuonUtility.h:16 AliAnalysisMuonUtility.h:17 AliAnalysisMuonUtility.h:18 AliAnalysisMuonUtility.h:19 AliAnalysisMuonUtility.h:20 AliAnalysisMuonUtility.h:21 AliAnalysisMuonUtility.h:22 AliAnalysisMuonUtility.h:23 AliAnalysisMuonUtility.h:24 AliAnalysisMuonUtility.h:25 AliAnalysisMuonUtility.h:26 AliAnalysisMuonUtility.h:27 AliAnalysisMuonUtility.h:28 AliAnalysisMuonUtility.h:29 AliAnalysisMuonUtility.h:30 AliAnalysisMuonUtility.h:31 AliAnalysisMuonUtility.h:32 AliAnalysisMuonUtility.h:33 AliAnalysisMuonUtility.h:34 AliAnalysisMuonUtility.h:35 AliAnalysisMuonUtility.h:36 AliAnalysisMuonUtility.h:37 AliAnalysisMuonUtility.h:38 AliAnalysisMuonUtility.h:39 AliAnalysisMuonUtility.h:40 AliAnalysisMuonUtility.h:41 AliAnalysisMuonUtility.h:42 AliAnalysisMuonUtility.h:43 AliAnalysisMuonUtility.h:44 AliAnalysisMuonUtility.h:45 AliAnalysisMuonUtility.h:46 AliAnalysisMuonUtility.h:47 AliAnalysisMuonUtility.h:48 AliAnalysisMuonUtility.h:49 AliAnalysisMuonUtility.h:50 AliAnalysisMuonUtility.h:51 AliAnalysisMuonUtility.h:52 AliAnalysisMuonUtility.h:53 AliAnalysisMuonUtility.h:54 AliAnalysisMuonUtility.h:55 AliAnalysisMuonUtility.h:56 AliAnalysisMuonUtility.h:57 AliAnalysisMuonUtility.h:58 AliAnalysisMuonUtility.h:59 AliAnalysisMuonUtility.h:60 AliAnalysisMuonUtility.h:61 AliAnalysisMuonUtility.h:62 AliAnalysisMuonUtility.h:63 AliAnalysisMuonUtility.h:64 AliAnalysisMuonUtility.h:65 AliAnalysisMuonUtility.h:66 AliAnalysisMuonUtility.h:67 AliAnalysisMuonUtility.h:68 AliAnalysisMuonUtility.h:69 AliAnalysisMuonUtility.h:70 AliAnalysisMuonUtility.h:71 AliAnalysisMuonUtility.h:72 AliAnalysisMuonUtility.h:73 AliAnalysisMuonUtility.h:74 AliAnalysisMuonUtility.h:75 AliAnalysisMuonUtility.h:76 AliAnalysisMuonUtility.h:77 AliAnalysisMuonUtility.h:78 AliAnalysisMuonUtility.h:79 AliAnalysisMuonUtility.h:80 AliAnalysisMuonUtility.h:81 AliAnalysisMuonUtility.h:82 AliAnalysisMuonUtility.h:83 AliAnalysisMuonUtility.h:84 AliAnalysisMuonUtility.h:85 AliAnalysisMuonUtility.h:86 AliAnalysisMuonUtility.h:87 AliAnalysisMuonUtility.h:88 AliAnalysisMuonUtility.h:89 AliAnalysisMuonUtility.h:90 AliAnalysisMuonUtility.h:91 AliAnalysisMuonUtility.h:92 AliAnalysisMuonUtility.h:93 AliAnalysisMuonUtility.h:94 AliAnalysisMuonUtility.h:95 AliAnalysisMuonUtility.h:96 AliAnalysisMuonUtility.h:97