#include "AliCFManager.h"
+#include "AliAODEvent.h"
#include "AliESDInputHandler.h"
#include "AliESDtrack.h"
#include "AliVertexerTracks.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
+#include "AliPIDResponse.h"
-#include "AliESDpid.h"
#include "AliHFEpid.h"
#include "AliHFEcuts.h"
#include "AliHFEdca.h"
AliAnalysisTaskSE("Impact Parameter Resolution and Pull Analysis")
, fPlugins(0)
, fCuts(0x0)
- , fDefaultPID(0x0)
, fHFEpid(0x0)
, fPIDdetectors("")
, fPIDstrategy(0)
AliAnalysisTaskSE(name)
, fPlugins(0)
, fCuts(0x0)
- , fDefaultPID(0x0)
, fHFEpid(0x0)
, fPIDdetectors("")
, fPIDstrategy(0)
hfecuts->SetMaxImpactParam(maxDcaXY, maxDcaZ);
SetHFECuts(hfecuts);
- fDefaultPID = new AliESDpid();
fHFEpid = new AliHFEpid("PIDforDCAanalysis");
}
AliAnalysisTaskSE(ref)
, fPlugins(ref.fPlugins)
, fCuts(ref.fCuts)
- , fDefaultPID(ref.fDefaultPID)
, fHFEpid(ref.fHFEpid)
, fPIDdetectors(ref.fPIDdetectors)
, fPIDstrategy(ref.fPIDstrategy)
AliAnalysisTaskSE::operator=(ref);
fPlugins = ref.fPlugins;
fCuts = ref.fCuts;
- fDefaultPID = ref.fDefaultPID;
fHFEpid = ref.fHFEpid;
fPIDdetectors = ref.fPIDdetectors;
fPIDstrategy = ref.fPIDstrategy;
// Destructor
//
- if(fDefaultPID) delete fDefaultPID;
if(fHFEpid) delete fHFEpid;
if(fCFM) delete fCFM;
if(fDCA) delete fDCA;
if(!mcH->TreeTR()) return;
}
- if(!IsAODanalysis()) {
- AliESDInputHandler *inH = dynamic_cast<AliESDInputHandler *>(fInputHandler);
- if(!inH){
- AliError("No ESD Event Handler available");
- return;
- }
- AliESDpid *workingPID = inH->GetESDpid();
- if(workingPID){
- AliDebug(1, "Using ESD PID from the input handler");
- fHFEpid->SetESDpid(workingPID);
- } else {
- AliDebug(1, "Using default ESD PID");
- fHFEpid->SetESDpid(AliHFEtools::GetDefaultPID(HasMCData()));
- }
- ProcessDcaAnalysis();
+
+ AliPIDResponse *pidResponse = fInputHandler->GetPIDResponse();
+ if(!pidResponse){
+ AliDebug(1, "Using default PID Response");
+ pidResponse = AliHFEtools::GetDefaultPID(HasMCData(), fInputEvent->IsA() == AliAODEvent::Class());
}
+ fHFEpid->SetPIDResponse(pidResponse);
+ ProcessDcaAnalysis();
-
PostData(1, fNEvents);
PostData(2, fOutput);
}