#ifndef ALIANALYSISMUMUSINGLE_H
#define ALIANALYSISMUMUSINGLE_H
#include "AliAnalysisMuMuBase.h"
#include "AliAnalysisMuonUtility.h"
class AliMuonTrackCuts;
class TH2F;
class TObjArray;
class AliAnalysisMuMuSingle : public AliAnalysisMuMuBase
{
public:
AliAnalysisMuMuSingle();
virtual ~AliAnalysisMuMuSingle();
virtual void ShouldSeparatePlusAndMinus(Bool_t value) { fShouldSeparatePlusAndMinus = value; }
virtual Bool_t ShouldSeparatePlusAndMinus() const { return fShouldSeparatePlusAndMinus; }
AliMuonTrackCuts* MuonTrackCuts();
void SetMuonTrackCuts(const AliMuonTrackCuts& trackCuts);
Bool_t IsPDCAOK(const AliVParticle& part);
void NameOfIsPDCAOK(TString& name) const { name = "PDCA";}
Bool_t IsMatchingTriggerAnyPt(const AliVParticle& part) const { return ( AliAnalysisMuonUtility::GetMatchTrigger(&part) >= 1 ); }
void NameOfIsMatchingTriggerAnyPt(TString& name) const { name = "MATCHANY";}
Bool_t IsMatchingTriggerLowPt(const AliVParticle& part) const { return ( AliAnalysisMuonUtility::GetMatchTrigger(&part) >= 2 ); }
void NameOfIsMatchingTriggerLowPt(TString& name) const { name = "MATCHLOW";}
Bool_t IsMatchingTriggerHighPt(const AliVParticle& part) const { return ( AliAnalysisMuonUtility::GetMatchTrigger(&part) >= 3 ); }
void NameOfIsMatchingTriggerHighPt(TString& name) const { name = "MATCHHIGH";}
Bool_t IsRabsOK(const AliVParticle& part) const;
void NameOfIsRabsOK(TString& name) const { name = "RABS"; }
Bool_t IsEtaInRange(const AliVParticle& part) const;
void NameOfIsEtaInRange(TString& name) const
{ name = "ETA"; }
void SetRun(const AliInputEventHandler* eventHandler);
protected:
void DefineHistogramCollection(const char* eventSelection, const char* triggerClassName,
const char* centrality);
virtual void FillHistosForTrack(const char* eventSelection, const char* triggerClassName,
const char* centrality,
const char* trackCutName,
const AliVParticle& part);
private:
void CreateTrackHisto(const char* eventSelection,
const char* triggerClassName,
const char* centrality,
const char* hname, const char* htitle,
Int_t nbinsx, Double_t xmin, Double_t xmax,
Int_t nbinsy=-1, Double_t ymin=0.0, Double_t ymax=0.0,
Bool_t separatePlusAndMinus=kFALSE) const;
Double_t GetTrackTheta(const AliVParticle& particle) const;
Int_t EAGetNumberOfMuonTracks() const;
Double_t EAGetTrackDCA(const AliVParticle& particle) const;
private:
AliAnalysisMuMuSingle& operator=(const AliAnalysisMuMuSingle& rhs);
AliAnalysisMuMuSingle(const AliAnalysisMuMuSingle& rhs);
AliMuonTrackCuts* fMuonTrackCuts;
Bool_t fShouldSeparatePlusAndMinus;
TH2F* fAccEffHisto;
ClassDef(AliAnalysisMuMuSingle,1)
};
#endif
AliAnalysisMuMuSingle.h:1 AliAnalysisMuMuSingle.h:2 AliAnalysisMuMuSingle.h:3 AliAnalysisMuMuSingle.h:4 AliAnalysisMuMuSingle.h:5 AliAnalysisMuMuSingle.h:6 AliAnalysisMuMuSingle.h:7 AliAnalysisMuMuSingle.h:8 AliAnalysisMuMuSingle.h:9 AliAnalysisMuMuSingle.h:10 AliAnalysisMuMuSingle.h:11 AliAnalysisMuMuSingle.h:12 AliAnalysisMuMuSingle.h:13 AliAnalysisMuMuSingle.h:14 AliAnalysisMuMuSingle.h:15 AliAnalysisMuMuSingle.h:16 AliAnalysisMuMuSingle.h:17 AliAnalysisMuMuSingle.h:18 AliAnalysisMuMuSingle.h:19 AliAnalysisMuMuSingle.h:20 AliAnalysisMuMuSingle.h:21 AliAnalysisMuMuSingle.h:22 AliAnalysisMuMuSingle.h:23 AliAnalysisMuMuSingle.h:24 AliAnalysisMuMuSingle.h:25 AliAnalysisMuMuSingle.h:26 AliAnalysisMuMuSingle.h:27 AliAnalysisMuMuSingle.h:28 AliAnalysisMuMuSingle.h:29 AliAnalysisMuMuSingle.h:30 AliAnalysisMuMuSingle.h:31 AliAnalysisMuMuSingle.h:32 AliAnalysisMuMuSingle.h:33 AliAnalysisMuMuSingle.h:34 AliAnalysisMuMuSingle.h:35 AliAnalysisMuMuSingle.h:36 AliAnalysisMuMuSingle.h:37 AliAnalysisMuMuSingle.h:38 AliAnalysisMuMuSingle.h:39 AliAnalysisMuMuSingle.h:40 AliAnalysisMuMuSingle.h:41 AliAnalysisMuMuSingle.h:42 AliAnalysisMuMuSingle.h:43 AliAnalysisMuMuSingle.h:44 AliAnalysisMuMuSingle.h:45 AliAnalysisMuMuSingle.h:46 AliAnalysisMuMuSingle.h:47 AliAnalysisMuMuSingle.h:48 AliAnalysisMuMuSingle.h:49 AliAnalysisMuMuSingle.h:50 AliAnalysisMuMuSingle.h:51 AliAnalysisMuMuSingle.h:52 AliAnalysisMuMuSingle.h:53 AliAnalysisMuMuSingle.h:54 AliAnalysisMuMuSingle.h:55 AliAnalysisMuMuSingle.h:56 AliAnalysisMuMuSingle.h:57 AliAnalysisMuMuSingle.h:58 AliAnalysisMuMuSingle.h:59 AliAnalysisMuMuSingle.h:60 AliAnalysisMuMuSingle.h:61 AliAnalysisMuMuSingle.h:62 AliAnalysisMuMuSingle.h:63 AliAnalysisMuMuSingle.h:64 AliAnalysisMuMuSingle.h:65 AliAnalysisMuMuSingle.h:66 AliAnalysisMuMuSingle.h:67 AliAnalysisMuMuSingle.h:68 AliAnalysisMuMuSingle.h:69 AliAnalysisMuMuSingle.h:70 AliAnalysisMuMuSingle.h:71 AliAnalysisMuMuSingle.h:72 AliAnalysisMuMuSingle.h:73 AliAnalysisMuMuSingle.h:74 AliAnalysisMuMuSingle.h:75 AliAnalysisMuMuSingle.h:76 AliAnalysisMuMuSingle.h:77 AliAnalysisMuMuSingle.h:78 AliAnalysisMuMuSingle.h:79 AliAnalysisMuMuSingle.h:80 AliAnalysisMuMuSingle.h:81 AliAnalysisMuMuSingle.h:82 AliAnalysisMuMuSingle.h:83 AliAnalysisMuMuSingle.h:84 AliAnalysisMuMuSingle.h:85 AliAnalysisMuMuSingle.h:86 AliAnalysisMuMuSingle.h:87 AliAnalysisMuMuSingle.h:88 AliAnalysisMuMuSingle.h:89 AliAnalysisMuMuSingle.h:90 AliAnalysisMuMuSingle.h:91 AliAnalysisMuMuSingle.h:92 AliAnalysisMuMuSingle.h:93 AliAnalysisMuMuSingle.h:94 AliAnalysisMuMuSingle.h:95 AliAnalysisMuMuSingle.h:96 AliAnalysisMuMuSingle.h:97 AliAnalysisMuMuSingle.h:98 AliAnalysisMuMuSingle.h:99 AliAnalysisMuMuSingle.h:100 AliAnalysisMuMuSingle.h:101 AliAnalysisMuMuSingle.h:102 AliAnalysisMuMuSingle.h:103 AliAnalysisMuMuSingle.h:104 AliAnalysisMuMuSingle.h:105