ROOT logo
AliRoot » PWGLF » FORWARD » ANALYSIS2 » AliForwardMultiplicityBase

class AliForwardMultiplicityBase: public AliBaseESDTask


 Base class for classes that calculate the multiplicity in the
 forward regions event-by-event

 Inputs:
   - AliESDEvent

 Outputs:
   - AliAODForwardMult

 Histograms

 Corrections used

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
~AliForwardMultiplicityBase()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidAliAnalysisTaskSE::AddAODBranch(const char* cname, void* addobj, const char* fname = "")
virtual AliAODEvent*AliAnalysisTaskSE::AODEvent() const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAliAnalysisTask::AreSlotsConnected()
virtual Bool_tBook()
virtual voidTTask::Browse(TBrowser* b)
Bool_tAliAnalysisTask::CheckCircularDeps()
voidAliAnalysisTask::CheckNotify(Bool_t init = kFALSE)
virtual Bool_tAliAnalysisTask::CheckOwnership() const
virtual Bool_tAliAnalysisTask::CheckPostData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Bool_tAliBaseESDTask::Configure(const char* macro = "-default-")
virtual Bool_tAliBaseESDTask::Connect(const char* sumFile = 0, const char* resFile = 0)
virtual Bool_tAliBaseESDTask::Connect(const char* sumFile, const char* resFile, Bool_t old)
Bool_tAliAnalysisTask::ConnectInput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidAliAnalysisTaskSE::ConnectInputData(Option_t* option = "")
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidAliAnalysisTaskSE::CreateOutputObjects()
virtual const char*AliAnalysisTaskSE::CurrentFileName()
virtual Int_tAliAnalysisTaskSE::DebugLevel() const
virtual voidTObject::Delete(Option_t* option = "")MENU
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 Long64_tAliAnalysisTaskSE::Entry() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual AliESDfriend*AliAnalysisTaskSE::ESDfriend() const
virtual Bool_tAliBaseESDTask::Event(AliESDEvent& esd)
virtual const AliEventTag*AliAnalysisTaskSE::EventTag() const
virtual voidAliAnalysisTaskSE::Exec(Option_t* option)
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 voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual Bool_tFinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliAnalysisTask::FinishTaskOutput()
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
virtual AliFMDCorrector&GetCorrections()
virtual const AliFMDCorrector&GetCorrections() const
virtual AliFMDDensityCalculator&GetDensityCalculator()
virtual const AliFMDDensityCalculator&GetDensityCalculator() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual AliFMDESDFixer&GetESDFixer()
virtual const AliFMDESDFixer&GetESDFixer() const
virtual AliFMDEventInspector&AliBaseESDTask::GetEventInspector()
virtual const AliFMDEventInspector&AliBaseESDTask::GetEventInspector() const
virtual AliFMDEventPlaneFinder&GetEventPlaneFinder()
virtual const AliFMDEventPlaneFinder&GetEventPlaneFinder() const
virtual AliFMDHistCollector&GetHistCollector()
virtual const AliFMDHistCollector&GetHistCollector() const
virtual const char*TObject::GetIconName() const
TObject*AliAnalysisTask::GetInputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetInputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetInputType(Int_t islot) const
TList*TTask::GetListOfTasks() const
virtual const char*TNamed::GetName() const
Int_tAliAnalysisTask::GetNinputs() const
Int_tAliAnalysisTask::GetNoutputs() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObject*AliAnalysisTask::GetOutputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetOutputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetOutputType(Int_t islot) const
TObject*AliAnalysisTask::GetPublishedData() const
virtual TList*AliAnalysisTaskSE::GetQAHistos() const
virtual AliFMDSharingFilter&GetSharingFilter()
virtual const AliFMDSharingFilter&GetSharingFilter() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tAliAnalysisTask::HasBranches() const
Bool_tAliAnalysisTask::HasExecuted() const
virtual ULong_tTNamed::Hash() 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 voidAliAnalysisTaskSE::Init()
virtual AliVEvent*AliAnalysisTaskSE::InputEvent() const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
Bool_tAliAnalysisTask::IsChecked() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliAnalysisTaskSE::IsEventInBinZero()
virtual Bool_tTTask::IsFolder() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tAliAnalysisTaskSE::IsStandardAOD() const
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
voidAliAnalysisTaskSE::LoadBranches() const
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) const
virtual AliMCEvent*AliAnalysisTaskSE::MCEvent() const
virtual Bool_tAliAnalysisTaskSE::Notify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
virtual voidAliAnalysisTaskSE::NotifyRun()
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)
virtual TTree*AliAnalysisTaskSE::OutputTree() const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual Bool_tPostEvent()
virtual voidAliBaseESDTask::PreCorrections(const AliESDEvent* esd)
virtual Bool_tPreData(const TAxis& vertex, const TAxis& eta)
virtual Bool_tAliBaseESDTask::PreEvent()
virtual voidPrint(Option_t* option = "") const
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
Bool_tAliAnalysisTask::ProducersTouched() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidAliAnalysisTask::Reset()
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 = "")
virtual voidAliAnalysisTaskSE::SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB)
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidSetAddMask(UInt_t mask)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliAnalysisTask::SetBranches(const char* names)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
virtual voidSetDebug(Int_t dbg)
virtual voidAliBaseESDTask::SetDebugLevel(Int_t dbg)
virtual voidSetDoTiming(Bool_t enable = true)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidSetEnableLowFlux(Bool_t use = true)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
voidSetStorePerRing(Bool_t use)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual Bool_tAliBaseESDTask::Setup()
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidAliAnalysisTaskSE::UserExecMix(Option_t*)
virtual Bool_tAliAnalysisTaskSE::UserNotify()
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:
virtual Bool_tAliBaseESDTask::CheckCorrections(UInt_t what) const
voidAliAnalysisTaskSE::ConnectMultiHandler()
virtual voidCreateBranches(AliAODHandler* ah)
virtual const char*AliBaseESDTask::DefaultConfig() const
virtual TAxis*DefaultEtaAxis() const
virtual TAxis*DefaultVertexAxis() const
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
voidAliAnalysisTaskSE::DisconnectMultiHandler()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
virtual voidEstimatedNdeta(const TList* input, TList* output) const
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
virtual AliESDEvent*AliBaseESDTask::GetESDEvent()
virtual AliCorrectionManagerBase*AliBaseESDTask::GetManager() const
virtual AliCorrectionManagerBase*AliBaseESDTask::GetManager()
virtual voidInitMembers(const TAxis& pe, const TAxis& pv)
virtual Bool_tAliBaseESDTask::IsMC() const
virtual voidAliBaseESDTask::LocalInit()
virtual voidMakeRingdNdeta(const TList* input, const char* inName, TList* output, const char* outName, Int_t style = 20) const
virtual Bool_tMakeSimpledNdeta(const TList* input, TList* output, Double_t& nTr, Double_t& nTrVtx, Double_t& nAcc)
voidTObject::MakeZombie()
virtual voidAliBaseESDTask::MarkEventForStore() const
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
AliForwardMultiplicityBase&operator=(const AliForwardMultiplicityBase& o)
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
virtual Bool_tAliBaseESDTask::ReadCorrections(const TAxis*& pe, const TAxis*& pv, Bool_t mc = false, Bool_t sat = false)
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const
virtual voidAliBaseESDTask::Terminate(Option_t* option)
virtual voidAliBaseESDTask::UserCreateOutputObjects()
virtual voidAliBaseESDTask::UserExec(Option_t* option)

Data Members

public:
enum { kTimingEventInspector
kTimingSharingFilter
kTimingDensityCalculator
kTimingCorrections
kTimingHistCollector
kTimingEventPlaneFinder
kTimingTotal
};
enum AliAnalysisTask::EAnalysisTaskFlags { kTaskUsed
kTaskZombie
kTaskChecked
kTaskPostEventLoop
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
AliAODForwardEPfAODEPOutput object
AliAODForwardMultfAODFMDOutput object
Bool_tTTask::fActivetrue if task is active
UInt_tfAddMaskFor which triggers to add internally
TStringAliAnalysisTask::fBranchNamesList of input branches that need to be loaded for this task
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
Bool_tAliBaseESDTask::fCloneListResult list is a clone of sum list
Int_tAliAnalysisTaskSE::fCurrentRunNumber! Current run number
Int_tAliAnalysisTaskSE::fDebugDebug flag
Bool_tfDoTimingWhether to do timing or not
AliESDfriend*AliAnalysisTaskSE::fESDfriend! ESD friend
Bool_tfEnableLowFluxWhether to use low-flux specific code
Int_tAliAnalysisTaskSE::fEntryCurrent entry in the chain
UInt_tAliBaseESDTask::fExtraCorrectionsSet this to bit-mask of corrections we'd like
Bool_tAliBaseESDTask::fFirstEventWheter we're waiting for the first event
TH2D*fHDataSummed 1/Nd^2N_{ch}/dphideta
TH1*fHStatusStatus histogram
TProfile*fHTimingTiming histogram
Bool_tTTask::fHasExecutedTrue if task has executed
AliForwardUtil::HistosfHistosCache histograms
TList*AliAnalysisTaskSE::fHistosQA! Output histos for QA
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
AliVEvent*AliAnalysisTaskSE::fInputEvent! VEvent Input
AliInputEventHandler*AliAnalysisTaskSE::fInputHandler! Input Handler
TObjArray*AliAnalysisTask::fInputsArray of input slots
TList*AliBaseESDTask::fListOutput list
AliMCEvent*AliAnalysisTaskSE::fMCEvent! MC
AliInputEventHandler*AliAnalysisTaskSE::fMCEventHandler! pointer to MCEventHandler
AliMultiInputEventHandler*AliAnalysisTaskSE::fMultiInputHandler! pointer to multihandler
TStringTNamed::fNameobject identifier
UInt_tAliBaseESDTask::fNeededCorrectionsSet this to bit-mask of corrections we need
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
UInt_tAliAnalysisTaskSE::fOfflineTriggerMaskTask processes collision candidates only
TStringTTask::fOptionOption specified in ExecuteTask
AliAODEvent*AliAnalysisTaskSE::fOutputAOD! AOD out
Bool_t*AliAnalysisTask::fOutputReady[fNoutputs] Flags for output readyness
TObjArray*AliAnalysisTask::fOutputsArray of output slots
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
TList*AliBaseESDTask::fResultsResults list
AliForwardUtil::HistosfRingSumsCache histograms
Bool_tfStorePerRingStore each ring on separate branch
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
TTree*AliAnalysisTaskSE::fTreeAAOD output Tree
static TClonesArray*AliAnalysisTaskSE::fgAODCaloClusters! CaloClusters for replication
static TClonesArray*AliAnalysisTaskSE::fgAODDimuons! Dimuons replication
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODEMCALTrigger! Emcal Trigger for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODEmcalCells! Emcal Cell replication
static TClonesArray*AliAnalysisTaskSE::fgAODFMDClusters! FMDClusters for replication
static AliVHeader*AliAnalysisTaskSE::fgAODHeader! Header for replication
static TClonesArray*AliAnalysisTaskSE::fgAODHmpidRings! HMPID replication
static TClonesArray*AliAnalysisTaskSE::fgAODJets! Jets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODMCParticles! MC Particles for replicatio
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODPHOSTrigger! Phos Trigger for replication
static TClonesArray*AliAnalysisTaskSE::fgAODPMDClusters! PMDClusters for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODPhosCells! Phos Cell replication
static AliAODTracklets*AliAnalysisTaskSE::fgAODTracklets! Tracklets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODTracks! Tracks for replication
static TClonesArray*AliAnalysisTaskSE::fgAODV0s! V0s for replication
static AliAODVZERO*AliAnalysisTaskSE::fgAODVZERO! VZERO for replication
static TClonesArray*AliAnalysisTaskSE::fgAODVertices! Vertices for replication
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
static AliTOFHeader*AliAnalysisTaskSE::fgTOFHeader! TOFHeader for replication

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliBaseESDTask
AliForwardMultiplicityBase
AliForwardMCMultiplicityTask
AliForwardMultiplicityTask

Function documentation

SetDebug(Int_t dbg)
 Set debug level

 Parameters:
    dbg debug level

Book()
 Create output objects


CreateBranches(AliAODHandler* ah)
PreData(const TAxis& vertex, const TAxis& eta)
 Initialise the sub objects and stuff.  Called on first event


InitMembers(const TAxis& pe, const TAxis& pv)
PostEvent()
Finalize()
 End of job

 Parameters:
    option Not used

EstimatedNdeta(const TList* input, TList* output) const
MakeSimpledNdeta(const TList* input, TList* output, Double_t& nTr, Double_t& nTrVtx, Double_t& nAcc)
 Get our histograms from the container
MakeRingdNdeta(const TList* input, const char* inName, TList* output, const char* outName, Int_t style = 20) const
 Make dN/deta for each ring found in the input list.

 A stack of all the dN/deta is also made for easy drawing.

 Note, that the distributions are normalised to the number of
 observed events only - they should be corrected for
Print(Option_t* option = "") const
 Print information

 Parameters:
    option Not used

void SetDoTiming(Bool_t enable = true)
   * Set whether to make a timing histogram
   *
   * @param enable

{ fDoTiming = enable; }
void SetEnableLowFlux(Bool_t use = true)
   * Whether to enable low-flux code
   *
   * @param use IF true, enable low-flux code

{ fEnableLowFlux = use; }
AliFMDESDFixer& GetESDFixer()
   * @{
   * @name Access to sub-algorithms


   * Get reference to the ESDFixer algorithm
   *
   * @return Reference to AliFMDESDFixer object

AliFMDSharingFilter& GetSharingFilter()
   * Get reference to the SharingFilter algorithm
   *
   * @return Reference to AliFMDSharingFilter object

AliFMDDensityCalculator& GetDensityCalculator()
   * Get reference to the DensityCalculator algorithm
   *
   * @return Reference to AliFMDDensityCalculator object

AliFMDCorrector& GetCorrections()
   * Get reference to the Corrections algorithm
   *
   * @return Reference to AliFMDCorrector object

AliFMDHistCollector& GetHistCollector()
   * Get reference to the HistCollector algorithm
   *
   * @return Reference to AliFMDHistCollector object

const AliFMDESDFixer& GetESDFixer() const
   * Get reference to the ESDFixer algorithm
   *
   * @return Reference to AliFMDESDFixer object

const AliFMDSharingFilter& GetSharingFilter() const
   * Get reference to the SharingFilter algorithm
   *
   * @return Reference to AliFMDSharingFilter object

const AliFMDDensityCalculator& GetDensityCalculator() const
   * Get reference to the DensityCalculator algorithm
   *
   * @return Reference to AliFMDDensityCalculator object

const AliFMDCorrector& GetCorrections() const
   * Get reference to the Corrections algorithm
   *
   * @return Reference to AliFMDCorrector object

const AliFMDHistCollector& GetHistCollector() const
   * Get reference to the HistCollector algorithm
   *
   * @return Reference to AliFMDHistCollector object

AliFMDEventPlaneFinder& GetEventPlaneFinder()
   * Get reference to the EventPlaneFinder algorithm
   *
   * @return Reference to AliFMDEventPlaneFinder object

const AliFMDEventPlaneFinder& GetEventPlaneFinder() const
   * Get reference to the EventPlaneFinder algorithm
   *
   * @return Reference to AliFMDEventPlaneFinder object

void SetStorePerRing(Bool_t use)
   * Set whether to make separate branches for each ring.  If enabled
   * there will be 5 additional branches on the AOD tree - each
   * holding a TH2D object of the charged particle multiplicity in
   * @f$(\eta,\varphi)@f$ bins for that event.
   *
   * @param use If true, make separate branches for each ring.

{ fStorePerRing = use; }
void SetAddMask(UInt_t mask)
   * For which triggers to add internally
   *
   * @param mask Trigger mask as defined in AliAODForwardMult

{ fAddMask = mask; }
AliForwardMultiplicityBase& operator=(const AliForwardMultiplicityBase& o)
   * Assignment operator
   *
   * @param o Object to assign from
   *
   * @return Reference to this object

TAxis* DefaultEtaAxis() const
{ return new TAxis(200,-4,6); }
TAxis* DefaultVertexAxis() const
{ return new TAxis(10,-10,10); }