//====================================================================
AliForwardMultiplicityTask::AliForwardMultiplicityTask()
- : AliAnalysisTaskSE(),
- fEnableLowFlux(true),
+ : AliForwardMultiplicityBase(),
fHData(0),
- fFirstEvent(true),
fESDFMD(),
fHistos(),
fAODFMD(),
//____________________________________________________________________
AliForwardMultiplicityTask::AliForwardMultiplicityTask(const char* name)
- : AliAnalysisTaskSE(name),
- fEnableLowFlux(true),
+ : AliForwardMultiplicityBase(name),
fHData(0),
- fFirstEvent(true),
fESDFMD(),
fHistos(),
fAODFMD(kTRUE),
//____________________________________________________________________
AliForwardMultiplicityTask::AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o)
- : AliAnalysisTaskSE(o),
- fEnableLowFlux(o.fEnableLowFlux),
+ : AliForwardMultiplicityBase(o),
fHData(o.fHData),
- fFirstEvent(true),
fESDFMD(o.fESDFMD),
fHistos(o.fHistos),
fAODFMD(o.fAODFMD),
AliForwardMultiplicityTask&
AliForwardMultiplicityTask::operator=(const AliForwardMultiplicityTask& o)
{
- AliAnalysisTaskSE::operator=(o);
+ AliForwardMultiplicityBase::operator=(o);
- fEnableLowFlux = o.fEnableLowFlux;
fHData = o.fHData;
- fFirstEvent = o.fFirstEvent;
fEventInspector = o.fEventInspector;
fEnergyFitter = o.fEnergyFitter;
fSharingFilter = o.fSharingFilter;
fHistCollector.SetDebug(dbg);
}
-//____________________________________________________________________
-void
-AliForwardMultiplicityTask::Init()
-{
- fFirstEvent = true;
-}
-
//____________________________________________________________________
void
AliForwardMultiplicityTask::InitializeSubs()
{
-
- // AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
- // pars->Init(kTRUE);
-
AliForwardCorrectionManager& fcm = AliForwardCorrectionManager::Instance();
fcm.Init(fEventInspector.GetCollisionSystem(),
fEventInspector.GetEnergy(),
if (!pe) AliFatal("No eta axis defined");
if (!pv) AliFatal("No vertex axis defined");
- // TAxis e(pars->GetNetaBins(), pars->GetEtaMin(), pars->GetEtaMax());
- // TAxis v(pars->GetNvtxBins(), -pars->GetVtxCutZ(), pars->GetVtxCutZ());
- // pv->Dump();
-
fHistos.Init(*pe);
fAODFMD.Init(*pe);
esd->GetMagneticField(),
esd->GetRunNumber()));
-
-
- // AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
- // pars->SetParametersFromESD(esd);
- // pars->PrintStatus();
fFirstEvent = false;
InitializeSubs();
fDensityCalculator.ScaleHistograms(list,hEventsTrVtx->Integral());
fCorrections.ScaleHistograms(list,hEventsTrVtx->Integral());
}
-
-//____________________________________________________________________
-void
-AliForwardMultiplicityTask::MarkEventForStore() const
-{
- // Make sure the AOD tree is filled
- AliAnalysisManager* am = AliAnalysisManager::GetAnalysisManager();
- AliAODHandler* ah =
- dynamic_cast<AliAODHandler*>(am->GetOutputEventHandler());
- if (!ah)
- AliFatal("No AOD output handler set in analysis manager");
-
- ah->SetFillAOD(kTRUE);
-}
-
//____________________________________________________________________
void
AliForwardMultiplicityTask::Print(Option_t* option) const
{
- std::cout << "AliForwardMultiplicityTask: " << GetName() << "\n"
- << " Enable low flux code: " << (fEnableLowFlux ? "yes" : "no")
- << std::endl;
+ AliForwardMultiplicityBase::Print(option);
gROOT->IncreaseDirLevel();
fEventInspector .Print(option);
fEnergyFitter .Print(option);
-#ifndef ALIROOT_PWG2_FORWARD_ALIFORWARDMULTIPLICITY_H
-#define ALIROOT_PWG2_FORWARD_ALIFORWARDMULTIPLICITY_H
-#include <AliAnalysisTaskSE.h>
+#ifndef ALIFORWARDMULTIPLICITYTASK_H
+#define ALIFORWARDMULTIPLICITYTASK_H
+#include "AliForwardMultiplicityBase.h"
#include "AliForwardUtil.h"
#include "AliFMDEventInspector.h"
#include "AliFMDEnergyFitter.h"
#include "AliAODForwardMult.h"
#include "AliFMDEnergyFitter.h"
#include <AliESDFMD.h>
-#include <TH1I.h>
-class AliFMDAnaParameters;
class AliESDEvent;
class TH2D;
class TList;
-class TTree;
-
-/**
- * @mainpage ALICE PWG2 Forward Multiplcity Analysis
- */
-/**
- * @defgroup pwg2_forward PWG2 Forward analysis
- *
- * Code to do the multiplicity analysis in the forward psuedo-rapidity
- * regions
- *
- */
-/**
- * @defgroup pwg2_forward_tasks Tasks
- *
- * Code to do the multiplicity analysis in the forward psuedo-rapidity
- * regions
- *
- * @ingroup pwg2_forward
- */
/**
* Calculate the multiplicity in the forward regions event-by-event
*
* @ingroup pwg2_forward_tasks
*
*/
-class AliForwardMultiplicityTask : public AliAnalysisTaskSE
+class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
{
public:
/**
* @{
* @name Interface methods
*/
- /**
- * Initialize the task
- *
- */
- virtual void Init();
/**
* Create output objects
*
* @param option Not used
*/
void Print(Option_t* option="") const;
- /**
- * Whether to enable low-flux code
- *
- * @param use IF true, enable low-flux code
- */
- void SetEnableLowFlux(Bool_t use=true) { fEnableLowFlux = use; }
/**
* @{
* @name Access to sub-algorithms
*
*/
virtual void InitializeSubs();
- /**
- * Mark this event as one to store in the AOD
- *
- */
- virtual void MarkEventForStore() const;
- Bool_t fEnableLowFlux;// Whether to use low-flux specific code
TH2D* fHData; // Summed 1/Nd^2N_{ch}/dphideta
- Bool_t fFirstEvent; // Whether the event is the first seen
AliESDFMD fESDFMD; // Sharing corrected ESD object
AliForwardUtil::Histos fHistos; // Cache histograms
AliAODForwardMult fAODFMD; // Output object