#include "AliAnalysisTaskSE.h"
#include "AliPool.h"
+#include "AliMuonTrackCuts.h"
class TFormula;
class TH1;
void SetCentBins(TAxis *bins) { fBCent=bins; }
void SetCentMethod(const char *name) { fCentMethod = name; }
void SetCentMixBins(TAxis *bins) { fMixBCent=bins; }
+ void SetCheckVertex(Bool_t b) { fCheckVertex = b; }
void SetClassName(const char *n) { fClassName = n; }
void SetDEtaDPhiBins(Int_t nbe, Int_t nbp) { fNBdeta=nbe; fNBdphi=nbp; }
void SetDoFillSame(Bool_t b) { fDoFillSame = b; }
void SetDoMassCut(Bool_t b) { fDoMassCut = b; }
- void SetCheckVertex(Bool_t b) { fCheckVertex = b; }
void SetDoWeights(Bool_t b) { fDoWeights = b; }
void SetEtaMax(Double_t eta) { fEtaMax = eta; }
void SetEtaTRange(Double_t eL, Double_t eH) { fEtaTLo=eL; fEtaTHi=eH; }
void SetHEffA(THnF *h) { fHEffA=h; }
void SetHEffT(THnF *h) { fHEffT=h; }
void SetMixInEtaT(Bool_t b) { fMixInEtaT = b; }
+ void SetMuonUtils(Bool_t b = kTRUE,
+ UInt_t mask = AliMuonTrackCuts::kMuEta | AliMuonTrackCuts::kMuThetaAbs | AliMuonTrackCuts::kMuPdca | AliMuonTrackCuts::kMuMatchApt ) {
+ fUseMuonUtils = b;
+ fMuonCutMask = mask;
+ }
void SetOmitFirstEv(Bool_t b) { fOmitFirstEv = b; }
void SetPoolSize(Int_t p) { fPoolSize = p; }
void SetPtABins(TAxis *bins) { fBPtA=bins; }
void SetPtRange(Double_t min, Double_t max) { fPtMin=min; fPtMax=max; }
void SetPtTACrit(Bool_t b) { fPtTACrit = b; }
void SetPtTBins(TAxis *bins) { fBPtT=bins; }
+ void SetRequireMuon(Bool_t b, Double_t l=0.5, Double_t h=4.0) {
+ fRequireMuon = b;
+ fReqPtLo = l;
+ fReqPtHi = h;
+ }
void SetTrackDepth(Int_t t) { fTrackDepth = t; }
void SetTracksName(const char *n) { fTracksName = n; }
void SetTriggerMatch(Bool_t b) { fTriggerMatch = b; }
void GetESDTracks(MiniEvent*);
void GetAODTracks(MiniEvent*);
Bool_t VertexOk() const;
+ Bool_t HasMuonESD();
+ Bool_t HasMuonAOD();
Bool_t IsGoodMUONtrack(AliESDMuonTrack &track);
Bool_t IsGoodMUONtrack(AliAODTrack &track);
Bool_t IsTrigger(Double_t eta, Double_t pt);
TString fTracksName; // name of track collection
Bool_t fDoWeights; // if true weight with 1/N per event
Bool_t fFillMuons; // fill the muon tracks into the mini event
+ Bool_t fRequireMuon; // only run on events with a muon track
+ Double_t fReqPtLo; // require a muon above this pt
+ Double_t fReqPtHi; // and below this pt
Bool_t fPtTACrit; // use the pTT > pTA criterion?
Bool_t fAllTAHists; // create all pTT,pTA combination hists, even t<a?
Bool_t fMixInEtaT; // mix in bins of eta_T instead of z_vertex
+ Bool_t fUseMuonUtils; // use muon cuts from PWG/muon/AliMuonTrackCuts ?
+ UInt_t fMuonCutMask; // muon cut mask for above
+ AliMuonTrackCuts *fMuonTrackCuts; // muon track cut object
Double_t fEtaTLo; // Min eta for triggers
Double_t fEtaTHi; // Max eta for triggers
Double_t fEtaALo; // Min eta for associated
TString fCentMethod; // centrality selection method
Int_t fNBdeta; // no. deta bins
Int_t fNBdphi; // no. dphi bins
- Bool_t fTriggerMatch; // muon trigger match
+ Bool_t fTriggerMatch; // muon trigger match
TAxis *fBPtT; // ptt binning
TAxis *fBPtA; // pta binning
TAxis *fBCent; // centrality binning
AliAODEvent *fAOD; //! AOD object
TList *fOutputList; //! Output list
TH2 *fHEvt; //! Cent vs vtx.
+ TH2 *fHEvtWTr; //! Cent vs vtx. for events with at least one track
TH2 *fHTrk; //! Phi vs Eta
TH2 *fHPoolReady; //! Check how many Jobs start mixing
TH1 *fHPtAss; //! Pt ass