ROOT logo
AliRoot » PWG » MUON » AliAnalysisMuMuNch

class AliAnalysisMuMuNch: public AliAnalysisMuMuBase

_____________________________________________________________________________
AliAnalysisMuMuNch::AliAnalysisMuMuNch(TH2* spdCorrection, Double_t etaMin, Double_t etaMax
                                      , Double_t zMin, Double_t zMax,Bool_t disableHistos, Bool_t computeResolution)
: AliAnalysisMuMuBase(),
fSPDCorrection(0x0),
fEtaAxis(new TAxis(TMath::Nint(10./0.1),-5.,5.)),
fZAxis(new TAxis(TMath::Nint(80/0.25),-40.,40.)),
fCurrentEvent(0x0),
fEtaMin(etaMin),
fEtaMax(etaMax),
fZMin(zMin),
fZMax(zMax),
fResolution(computeResolution)
{
  if ( spdCorrection )
  {
    fSPDCorrection = static_cast<TH2F*>(spdCorrection->Clone());
    fSPDCorrection->SetDirectory(0);
  }
  DefineSPDAcceptance();

  if ( disableHistos )
  {
    DisableHistograms("*");
  }
}

Function Members (Methods)

public:
AliAnalysisMuMuNch(TObjArray* spdCorrectionList, Double_t meanTrRef = -1., Double_t etaMin = -0.5, Double_t etaMax = 0.5, Double_t zmin = -10, Double_t zmax = 10, Bool_t disableHistos = kFALSE, Bool_t computeResolution = kFALSE)
AliAnalysisMuMuNch(TH2F* spdCorrection = 0x0, TProfile* spdMeanCorrection = 0x0, Double_t meanTrRef = -1., Double_t etaMin = -0.5, Double_t etaMax = 0.5, Double_t zmin = -10., Double_t zmax = 10., Bool_t disableHistos = kFALSE, Bool_t computeResolution = kFALSE)
AliAnalysisMuMuNch(TProfile* spdMeanCorrection, TProfile* spdMeanCorrectionToCompare, Double_t meanTrRef = -1., Double_t etaMin = -1.0, Double_t etaMax = 1.0, Double_t zMin = -10., Double_t zMax = 10., Double_t etaMinToCompare = -0.5, Double_t etaMaxToCompare = 0.5, Bool_t disableHistos = kFALSE, Bool_t computeResolution = kFALSE)
virtual~AliAnalysisMuMuNch()
voidTObject::AbstractMethod(const char* method) const
Bool_tAliAnalysisMuMuBase::AlwaysFalse(const AliVEvent&) const
Bool_tAliAnalysisMuMuBase::AlwaysFalse(const AliVParticle&) const
Bool_tAliAnalysisMuMuBase::AlwaysFalse(const AliVParticle&, const AliVParticle&) const
Bool_tAliAnalysisMuMuBase::AlwaysTrue(const AliVEvent&) const
Bool_tAliAnalysisMuMuBase::AlwaysTrue(const AliVParticle&) const
Bool_tAliAnalysisMuMuBase::AlwaysTrue(const AliVParticle&, const AliVParticle&) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
voidDefineGeneratorName(const char* genName)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidAliAnalysisMuMuBase::DisableHistograms(const char* pattern = "*")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
AliVEvent*AliAnalysisMuMuBase::Event() const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidAliAnalysisMuMuBase::FillHistosForPair(const char*, const char*, const char*, const char*, const AliVParticle&, const AliVParticle&)
virtual voidAliAnalysisMuMuBase::FillHistosForTrack(const char*, const char*, const char*, const char*, const AliVParticle&)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasAtLeastNTrackletsInEtaRange(const AliVEvent& event, Int_t n, Double_t& etaMin, Double_t& etaMax) const
virtual ULong_tTObject::Hash() const
Bool_tAliAnalysisMuMuBase::HasMC() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidAliAnalysisMuMuBase::Init(AliCounterCollection& cc, AliMergeableCollection& hc, const AliAnalysisMuMuBinning& binning, const AliAnalysisMuMuCutRegistry& cutRegister)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tAliAnalysisMuMuBase::IsHistogramDisabled(const char* hname) const
virtual Bool_tAliAnalysisMuMuBase::IsHistogrammingDisabled() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
AliMCEvent*AliAnalysisMuMuBase::MCEvent() const
static const char*AliAnalysisMuMuBase::MCInputPrefix()
voidAliAnalysisMuMuBase::NameOfAlwaysFalse(TString& name) const
voidAliAnalysisMuMuBase::NameOfAlwaysTrue(TString& name) const
voidNameOfHasAtLeastNTrackletsInEtaRange(TString& name, Int_t n, Double_t& etaMin, Double_t& etaMax) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetEvent(AliVEvent* event, AliMCEvent* mcEvent = 0x0)
voidAliAnalysisMuMuBase::SetHistogramCollection(AliMergeableCollection* h)
voidAliAnalysisMuMuBase::SetMC()
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetRun(const AliInputEventHandler* eventHandler)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(Option_t*)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidAddHisto(const char* eventSelection, const char* triggerClassName, const char* centrality, const char* histoname, Double_t z, TH1* h, Bool_t isMC = kFALSE)
voidAttachSPDAcceptance(UInt_t dataType, const char* eventSelection, const char* triggerClassName, const char* centrality, const char* histoname)
const AliAnalysisMuMuBinning*AliAnalysisMuMuBase::Binning() const
AliCounterCollection*AliAnalysisMuMuBase::CounterCollection() const
voidAliAnalysisMuMuBase::CreateEventHistos(UInt_t dataType, const char* what, 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) const
voidAliAnalysisMuMuBase::CreateEventHistos(UInt_t dataType, 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) const
voidAliAnalysisMuMuBase::CreateHistos(const TObjArray& paths, 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) const
voidAliAnalysisMuMuBase::CreatePairHistos(UInt_t dataType, 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) const
voidAliAnalysisMuMuBase::CreateTrackHistos(UInt_t dataType, 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) const
const AliAnalysisMuMuCutRegistry*AliAnalysisMuMuBase::CutRegistry() const
virtual voidDefineHistogramCollection(const char* eventSelection, const char* triggerClassName, const char* centrality)
voidDefineSPDAcceptance()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidFillHistosForEvent(const char* eventSelection, const char* triggerClassName, const char* centrality)
virtual voidFillHistosForMCEvent(const char* eventSelection, const char* triggerClassName, const char* centrality)
Bool_tGetEtaRangeSPD(Double_t spdZVertex, Double_t* etaRange)
Int_tAliAnalysisMuMuBase::GetNbins(Double_t xmin, Double_t xmax, Double_t xstep)
Double_tGetSPDCorrection(Double_t zvert, Double_t eta) const
AliAODTracklets*GetTracklets(AliVEvent* event)
Double_tGetTrackletsMeanCorrection(Double_t zvert, Int_t nTracklets, Bool_t corrToCompare = kFALSE) const
TH1*AliAnalysisMuMuBase::Histo(const char* eventSelection, const char* histoname)
TH1*AliAnalysisMuMuBase::Histo(const char* eventSelection, const char* triggerClassName, const char* histoname)
TH1*AliAnalysisMuMuBase::Histo(const char* eventSelection, const char* triggerClassName, const char* cent, const char* histoname)
TH1*AliAnalysisMuMuBase::Histo(const char* eventSelection, const char* triggerClassName, const char* cent, const char* what, const char* histoname)
AliMergeableCollection*AliAnalysisMuMuBase::HistogramCollection() const
Bool_tIsMCtrackFromGenerator(Int_t indexMC) const
voidTObject::MakeZombie()
TH1*AliAnalysisMuMuBase::MCHisto(const char* eventSelection, const char* histoname)
TH1*AliAnalysisMuMuBase::MCHisto(const char* eventSelection, const char* triggerClassName, const char* histoname)
TH1*AliAnalysisMuMuBase::MCHisto(const char* eventSelection, const char* triggerClassName, const char* cent, const char* histoname)
TH1*AliAnalysisMuMuBase::MCHisto(const char* eventSelection, const char* triggerClassName, const char* cent, const char* what, const char* histoname)
TProfile*AliAnalysisMuMuBase::MCProf(const char* eventSelection, const char* histoname)
TProfile*AliAnalysisMuMuBase::MCProf(const char* eventSelection, const char* triggerClassName, const char* histoname)
TProfile*AliAnalysisMuMuBase::MCProf(const char* eventSelection, const char* triggerClassName, const char* cent, const char* histoname)
TProfile*AliAnalysisMuMuBase::MCProf(const char* eventSelection, const char* triggerClassName, const char* cent, const char* what, const char* histoname)
TProfile*AliAnalysisMuMuBase::Prof(const char* eventSelection, const char* histoname)
TProfile*AliAnalysisMuMuBase::Prof(const char* eventSelection, const char* triggerClassName, const char* histoname)
TProfile*AliAnalysisMuMuBase::Prof(const char* eventSelection, const char* triggerClassName, const char* cent, const char* histoname)
TProfile*AliAnalysisMuMuBase::Prof(const char* eventSelection, const char* triggerClassName, const char* cent, const char* what, const char* histoname)
private:
voidDefineSPDCorrectionMap(TObjArray* spdCorrectionList)
Double_tNumberOfTrackletsInEtaRange(const AliVEvent& event, Double_t& etamin, Double_t& etamax, Bool_t corrected = kFALSE) const

Data Members

private:
AliVEvent*fCurrentEvent! cache of the current event
TAxis*fEtaAxisEta axis used for the histos
Double_tfEtaMaxMaximum tracklet eta value
Double_tfEtaMaxToCompareMaximum tracklet eta value for the comparison
Double_tfEtaMinMinimum tracklet eta value
Double_tfEtaMinToCompareMinimum tracklet eta value for the comparison
TString*fGeneratorHeaderClassClass of the header MC generator
Double_tfMeanTrRefMean reference number of tracklets for mean tracklets correction
Bool_tfResolutionFlag to set the resolution computation
TF1*fSPD1LLSPD acceptance shape
TF1*fSPD1LRSPD acceptance shape
TF1*fSPD2LLSPD acceptance shape
TF1*fSPD2LRSPD acceptance shape
TObjArray*fSPDCorrectionListList of SPD AccxEffCorrections or Mean Tracklets corrections for different subperiods
TMap*fSPDCorrectionMapMap for the SPD AccxEffCorrections or Mean Tracklets corrections for different subperiods
TProfile*fSPDMeanTracklets<Tracklets_SPD> vs zvtx. 'mean' correction for tracklets
TProfile*fSPDMeanTrackletsCorrToCompare<Tracklets_SPD> vs zvtx. 'mean' correction for tracklets in the range for comparison with the main range
TH2F*fSPDOneOverAccxEffNch/Tracklets_SPD (eta vs z). SPD AccxEffCorrection for tracklets
TAxis*fZAxisZ vertex axis used for the histos
Double_tfZMaxMaximum z vertex value
Double_tfZMinMinimum z vertex value
Double_tfetaRange[2]
TRandom3*frand

Class Charts

Inheritance Chart:
TObject
AliAnalysisMuMuBase
AliAnalysisMuMuNch

Function documentation

AliAnalysisMuMuNch(TH2F* spdCorrection = 0x0, TProfile* spdMeanCorrection = 0x0, Double_t meanTrRef = -1., Double_t etaMin = -0.5, Double_t etaMax = 0.5, Double_t zmin = -10., Double_t zmax = 10., Bool_t disableHistos = kFALSE, Bool_t computeResolution = kFALSE)
FIXME: Add a protection to avoid an etamin or etamax non multiple of the eta bin size
AliAnalysisMuMuNch(TProfile* spdMeanCorrection, TProfile* spdMeanCorrectionToCompare, Double_t meanTrRef = -1., Double_t etaMin = -1.0, Double_t etaMax = 1.0, Double_t zMin = -10., Double_t zMax = 10., Double_t etaMinToCompare = -0.5, Double_t etaMaxToCompare = 0.5, Bool_t disableHistos = kFALSE, Bool_t computeResolution = kFALSE)
FIXME: Add a protection to avoid an etamin or etamax non multiple of the eta bin size
AliAnalysisMuMuNch(TObjArray* spdCorrectionList, Double_t meanTrRef = -1., Double_t etaMin = -0.5, Double_t etaMax = 0.5, Double_t zmin = -10, Double_t zmax = 10, Bool_t disableHistos = kFALSE, Bool_t computeResolution = kFALSE)
FIXME: Add a protection to avoid an etamin or etamax non multiple of the eta bin size
~AliAnalysisMuMuNch()
void DefineGeneratorName(const char* genName)
  TString sgenName(genName);
  if ( sgenNam.Contains("pythia") ) fGeneratorHeaderClass = "AliGenPythiaEventHeader";
  else if ( sgenNam.Contains("dpmjet") ) fGeneratorHeaderClass = "AliGenDPMjetEventHeader";
  else if ( sgenNam.Contains("dpmjet") ) fGeneratorHeaderClass = "AliGenHijingEventHeader";
void DefineHistogramCollection(const char* eventSelection, const char* triggerClassName, const char* centrality)
 Define multiplicity histos
void DefineSPDAcceptance()
 Defines the functions ( eta = f(z) ) of the edges (right/left) of the inner and outer SPD layers
 R_in = 3.9 cm ; R_out = 7.6 cm
void DefineSPDCorrectionMap(TObjArray* spdCorrectionList)
 Defines a TMap of the SPD periods and the corresponding correction
 Each SPD correction in the list must contain in the name the 1st run for which is valid and respect the naming convention:
 (SPDCorrection_1stValidRunNumber_lastValidRunNumber).
 The list must be ordered from smaller to bigger run number
 This is usable with both types of corrections
void AddHisto(const char* eventSelection, const char* triggerClassName, const char* centrality, const char* histoname, Double_t z, TH1* h, Bool_t isMC = kFALSE)
 Adds the content of a 1D histo to a 2D histo a the z position
void AttachSPDAcceptance(UInt_t dataType, const char* eventSelection, const char* triggerClassName, const char* centrality, const char* histoname)
 Attachs AccxEff curves to the histogram
void FillHistosForEvent(const char* eventSelection, const char* triggerClassName, const char* centrality)
 Fills the data (or reco if simu) multiplicity histos
void FillHistosForMCEvent(const char* eventSelection, const char* triggerClassName, const char* centrality)
 Fill input MC multiplicity histos
Bool_t GetEtaRangeSPD(Double_t spdZVertex, Double_t* etaRange)
 Fill the SPD eta range for a given z vertex and returns whether the range is valid or not.
Double_t GetSPDCorrection(Double_t zvert, Double_t eta) const
Double_t GetTrackletsMeanCorrection(Double_t zvert, Int_t nTracklets, Bool_t corrToCompare = kFALSE) const
AliAODTracklets* GetTracklets(AliVEvent* event)
 Return AliAODTracklets if the event is an AOD event. If event is ESD event creates AliAODTracklets object from ESD AliMultiplicity and returns it
Bool_t HasAtLeastNTrackletsInEtaRange(const AliVEvent& event, Int_t n, Double_t& etaMin, Double_t& etaMax) const
void NameOfHasAtLeastNTrackletsInEtaRange(TString& name, Int_t n, Double_t& etaMin, Double_t& etaMax) const
Bool_t IsMCtrackFromGenerator(Int_t indexMC) const
Checks if the MC particle corresponding to a track has been generated with a given generator.
Double_t NumberOfTrackletsInEtaRange(const AliVEvent& event, Double_t& etamin, Double_t& etamax, Bool_t corrected = kFALSE) const
void SetEvent(AliVEvent* event, AliMCEvent* mcEvent = 0x0)
 Set the event, compute multiplicities and add them as a list to the event
void SetRun(const AliInputEventHandler* eventHandler)
 For each new run this method sets the corresponding SPD correction from SPDCorrection list using the SPDCorrection map
void Terminate(Option_t* )
 Called once at the end of the query