]>
Commit | Line | Data |
---|---|---|
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 | ||
15 | class TLorentzVector; | |
68e9b988 | 16 | class AliInputEventHandler; |
f8b94231 | 17 | class AliVEvent; |
18 | class AliMCEvent; | |
19 | class AliVParticle; | |
20 | class AliVVertex; | |
21 | class AliCFGridSparse; | |
22 | ||
23 | class 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 |