//____________________________________________________________________________
AliCaloTrackAODReader::AliCaloTrackAODReader() :
- AliCaloTrackReader()
+ AliCaloTrackReader(), fOrgInputEvent(0x0)
{
//Default Ctor
//}
//____________________________________________________________________________
-Double_t AliCaloTrackAODReader::GetBField() const {
- //Return magnetic field
-
- Double_t bfield = fInputEvent->GetMagneticField();
-
- return bfield;
-
+AliCentrality* AliCaloTrackAODReader::GetCentrality() const {
+ // recover centrality object.
+ AliAODEvent* event = dynamic_cast<AliAODEvent*> (fInputEvent);
+ AliAODEvent* orgevent = dynamic_cast<AliAODEvent*> (fOrgInputEvent);
+
+ if(event && !fSelectEmbeddedClusters) {
+ //Normal AOD event
+ return event->GetHeader()->GetCentralityP() ;
+ }
+ else if(fSelectEmbeddedClusters && orgevent) {
+ // centrality in AOD from input, not in embedded event
+ // temporary fix until this object is copied to the output event in embedding analysis
+ return orgevent->GetHeader()->GetCentralityP();
+ }
+ else {
+ return 0x0 ;
+ }
}
+
//____________________________________________________________________________
void AliCaloTrackAODReader::SetInputOutputMCEvent(AliVEvent* input, AliAODEvent* aod, AliMCEvent* mc) {
// Connect the data pointers
if(tesd) {
SetInputEvent(aod);
SetOutputEvent(aod);
+ fOrgInputEvent = input;
}
else if(taod){
AliAODInputHandler* aodIH = dynamic_cast<AliAODInputHandler*>((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
//Merged events, use output AOD.
SetInputEvent(aod);
SetOutputEvent(aod);
+ fOrgInputEvent = input;
}
else{
SetInputEvent(input);