#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliMultiplicity.h"
+#include "AliFMDEventInspector.h"
#include <TROOT.h>
#include <TFile.h>
#include <TError.h>
fList(0),
fAODCentral(kFALSE),
fManager(),
- fUseSecondary(true)
+ fUseSecondary(true),
+ firstEventSeen(false)
{
DefineOutput(1, TList::Class());
fList(0),
fAODCentral(),
fManager(),
- fUseSecondary(true)
+ fUseSecondary(true),
+ firstEventSeen(false)
{
}
//____________________________________________________________________
fList(o.fList),
fAODCentral(o.fAODCentral),
fManager(o.fManager),
- fUseSecondary(o.fUseSecondary)
+ fUseSecondary(o.fUseSecondary),
+ firstEventSeen(o.firstEventSeen)
{
}
//____________________________________________________________________
AliCentralMultiplicityTask&
AliCentralMultiplicityTask::operator=(const AliCentralMultiplicityTask& o)
{
- fData = o.fData;
- fList = o.fList;
- fAODCentral = o.fAODCentral;
- fManager = o.fManager;
- fUseSecondary = o.fUseSecondary;
+ fData = o.fData;
+ fList = o.fList;
+ fAODCentral = o.fAODCentral;
+ fManager = o.fManager;
+ fUseSecondary = o.fUseSecondary;
+ firstEventSeen = o.firstEventSeen;
return *this;
}
//____________________________________________________________________
AliESDEvent* esd = eventHandler->GetEvent();
+ if(!GetManager().IsInit() && !firstEventSeen) {
+ AliFMDEventInspector inspector;
+ inspector.ReadRunDetails(esd);
+ GetManager().Init(inspector.GetCollisionSystem(),
+ inspector.GetEnergy(),
+ inspector.GetField());
+
+ //std::cout<<inspector.GetCollisionSystem()<<" "<<inspector.GetEnergy()<<" "<<inspector.GetField()<<std::endl;
+ AliInfo("Manager of corrections in AliCentralMultiplicityTask init");
+ firstEventSeen = kTRUE;
+ }
+
//Selecting only events with |valid vertex| < 10 cm
const AliESDVertex* vertex = esd->GetPrimaryVertexSPD();
if (!vertex) return;
fAcceptance(),
fSecmap(),
fAcceptanceName("centralacceptance"),
- fSecMapName("centralsecmap")
+ fSecMapName("centralsecmap"),
+ fIsInit(kFALSE)
{
fAcceptance(o.fAcceptance),
fSecmap(o.fSecmap),
fAcceptanceName(o.fAcceptanceName),
- fSecMapName(o.fSecMapName)
+ fSecMapName(o.fSecMapName),
+ fIsInit(o.fIsInit)
{}
//____________________________________________________________________
AliCentralMultiplicityTask::Manager&
fSecmap = o.fSecmap;
fAcceptanceName = o.fAcceptanceName;
fSecMapName = o.fSecMapName;
+ fIsInit = o.fIsInit;
return *this;
}
UShort_t sNN,
Short_t field)
{
+ if(fIsInit) ::Warning("Init","Already initialised - overriding...");
+
TFile fsec(GetFullFileName(0,sys,sNN,field));
fSecmap =
dynamic_cast<AliCentralCorrSecondaryMap*>(fsec.Get(fSecMapName.Data()));
::Error("Init", "no central Acceptance found!") ;
return;
}
+
+ if(fSecmap && fAcceptance) {
+ fIsInit = kTRUE;
+ ::Info("Init",
+ "Central Manager initialised for sys %d, energy %d, field %d",sys,sNN,field);
+ }
+
}
//
// EOF