]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliAnalysisMuonUtility.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisMuonUtility.h
CommitLineData
f8b94231 1#ifndef ALIANALYSISMUONUTILITY_H
2#define ALIANALYSISMUONUTILITY_H
3
4/* $Id: AliAnalysisMuonUtility.h 47782 2011-02-24 18:37:31Z martinez $ */
5
6//
7// Utilities for muon analysis
8//
9// Author: Diego Stocco
10//
11
12#include "TObject.h"
13#include "TString.h"
14
15class TLorentzVector;
68e9b988 16class AliInputEventHandler;
f8b94231 17class AliVEvent;
18class AliMCEvent;
19class AliVParticle;
20class AliVVertex;
21class AliCFGridSparse;
22
23class AliAnalysisMuonUtility : public TObject {
24 public:
25
26 // Utility methods for CF container
27 static Bool_t SetSparseRange(AliCFGridSparse* gridSparse,
28 Int_t ivar, TString labelName,
29 Double_t varMin, Double_t varMax,
30 TString option = "");
31
32 // Transparently handle ESD/AOD
33 static Bool_t IsAODEvent ( const AliVEvent* event );
34 static TString GetFiredTriggerClasses ( const AliVEvent* event );
35 static Int_t GetNTracks ( const AliVEvent* event );
36 static AliVParticle* GetTrack ( Int_t itrack, const AliVEvent* event );
af8a23d3 37 static UInt_t GetL0TriggerInputs ( const AliVEvent* event );
38 static UInt_t GetL1TriggerInputs ( const AliVEvent* event );
39 static UInt_t GetL2TriggerInputs ( const AliVEvent* event );
f8b94231 40
41 static Bool_t IsAODTrack ( const AliVParticle* track );
42 static Bool_t IsMuonTrack ( const AliVParticle* track );
43 static Bool_t IsMuonGhost ( const AliVParticle* track );
44 static Double_t GetRabs ( const AliVParticle* track );
45 static Double_t GetThetaAbsDeg ( const AliVParticle* track );
46 static Int_t GetMatchTrigger ( const AliVParticle* track );
47 static Bool_t MatchApt ( const AliVParticle* track ) { return GetMatchTrigger(track) >= 1; }
48 static Bool_t MatchLpt ( const AliVParticle* track ) { return GetMatchTrigger(track) >= 2; }
49 static Bool_t MatchHpt ( const AliVParticle* track ) { return GetMatchTrigger(track) >= 3; }
50 static Double_t GetChi2perNDFtracker ( const AliVParticle* track );
e6bc9bbf 51 static Double_t GetChi2MatchTrigger ( const AliVParticle* track );
f8b94231 52 static Double_t GetXatVertex ( const AliVParticle* track );
53 static Double_t GetYatVertex ( const AliVParticle* track );
54 static Double_t GetZatVertex ( const AliVParticle* track );
55 static Double_t GetXatDCA ( const AliVParticle* track );
56 static Double_t GetYatDCA ( const AliVParticle* track );
57 static Double_t GetZatDCA ( const AliVParticle* track ) { return GetZatVertex(track); }
e6bc9bbf 58 static Bool_t IsTrkChamberHit( Int_t chamber, const AliVParticle* track );
f8b94231 59 static UInt_t GetMUONTrigHitsMapTrk ( const AliVParticle* track );
60 static UInt_t GetMUONTrigHitsMapTrg ( const AliVParticle* track );
ef1fa0e4 61 static Int_t GetMuonTrigDevSign ( const AliVParticle* track );
2feea167 62 static Int_t GetLoCircuit ( const AliVParticle* track );
f8b94231 63 static TLorentzVector GetTrackPair ( const AliVParticle* track1, const AliVParticle* track2 );
64
65
66 // Transparently handle MC
f8b94231 67 static Double_t GetMCVertexZ ( const AliVEvent* event, const AliMCEvent* mcEvent );
68
69 static Bool_t IsAODMCTrack ( const AliVParticle* mcParticle );
33898693 70 static Bool_t IsMCTrack ( const AliVParticle* mcParticle );
f8b94231 71 static Int_t GetMotherIndex ( const AliVParticle* mcParticle );
72 static Int_t GetDaughterIndex ( const AliVParticle* mcParticle, Int_t idaughter );
73 static Bool_t IsPrimary ( const AliVParticle* mcParticle, const AliMCEvent* mcEvent );
33898693 74 static UInt_t GetMCProcess ( const AliVParticle* mcParticle );
75 static UInt_t GetStatusCode ( const AliVParticle* mcParticle );
f8b94231 76
5376e016
CP
77 static Bool_t EAGetTZEROFlags(const AliVEvent* event, Bool_t& backgroundFlag, Bool_t& pileupFlag, Bool_t& satelliteFlag);
78
f8b94231 79 // A useful constant
80 static Double_t MuonMass2();
81
82 // Transparently handle vertex
83 static AliVVertex* GetVertexSPD ( const AliVEvent* event );
84
68e9b988 85 // Utilities for ESD/AOD
86 static Int_t GetPassNumber ( const AliInputEventHandler* eventHandler );
87 static Int_t GetPassNumber ( const char* str );
b7e84a9b 88 static TString GetPassName ( const AliInputEventHandler* eventHandler );
89 static TString GetPassName ( const char* str );
68e9b988 90
b5a808f9 91 // Utilities for MC
33898693 92 static TString GetTrackHistory ( const AliVParticle* track, const AliMCEvent* mcEvent, Bool_t verbose = kFALSE );
b5a808f9 93
f8b94231 94 ClassDef(AliAnalysisMuonUtility, 0);
95};
96
97#endif