#include <AliVTrack.h>
#include <AliLog.h>
#include <AliPIDResponse.h>
+#include <AliESDpid.h>
+
#include "AliAnalysisTaskPIDResponse.h"
//
// Create the output QA objects
//
-
+
AliLog::SetClassDebugLevel("AliAnalysisTaskPIDResponse",10);
-
//input hander
AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
AliInputEventHandler *inputHandler=dynamic_cast<AliInputEventHandler*>(man->GetInputEventHandler());
}
fPIDResponse->InitialiseEvent(event,fRecoPass);
+ AliESDpid *pidresp = dynamic_cast<AliESDpid*>(fPIDResponse);
+ if(pidresp && AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()){
+ pidresp->SetEventHandler(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
+ }
}
//______________________________________________________________________________
#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliMCEvent.h"
-#include "AliMCEventHandler.h"
-#include "AliAnalysisManager.h"
ClassImp(AliESDpid)
AliPID::EParticleType type = AliPID::kPion;
- AliMCEventHandler* eventHandler=NULL;
- eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
+ AliMCEventHandler* eventHandler=dynamic_cast<AliMCEventHandler*>(fEventHandler);
if (eventHandler) {
AliMCEvent* mcEvent = eventHandler->MCEvent();
if(mcEvent){
//-------------------------------------------------------
#include <Rtypes.h>
#include "AliESDtrack.h" // Needed for inline functions
+#include "AliMCEventHandler.h"
//#include "HMPID/AliHMPID.h"
//#include "TRD/AliTRDpidESD.h"
class AliESDpid : public AliPIDResponse {
public:
- AliESDpid(Bool_t forMC=kFALSE): AliPIDResponse(forMC), fRangeTOFMismatch(5.) {;}
+ AliESDpid(Bool_t forMC=kFALSE): AliPIDResponse(forMC), fRangeTOFMismatch(5.), fEventHandler(NULL) {;}
+AliESDpid(const AliESDpid&a): AliPIDResponse(a), fRangeTOFMismatch(a.fRangeTOFMismatch), fEventHandler(NULL){;};
+ AliESDpid& operator=(const AliESDpid& a){AliPIDResponse::operator=(a); fRangeTOFMismatch=a.fRangeTOFMismatch; fEventHandler=NULL; return *this;};
virtual ~AliESDpid() {}
Int_t MakePID(AliESDEvent *event, Bool_t TPCOnly = kFALSE, Float_t timeZeroTOF=9999) const;
Float_t GetTPCsignalTunedOnData(const AliVTrack *t) const;
+ void SetEventHandler(AliVEventHandler *event){fEventHandler=event;};
+
private:
- Float_t fRangeTOFMismatch; // nSigma max for TOF matching with TPC
- ClassDef(AliESDpid,6) // PID calculation class
+ Float_t fRangeTOFMismatch; // nSigma max for TOF matching with TPC
+ AliVEventHandler *fEventHandler; //! MC event handler
+
+ ClassDef(AliESDpid,7) // PID calculation class
};