// Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
//
-#include <Riostream.h>
+#include "AliAnalysisManager.h"
+#include "AliESDInputHandler.h"
-#include "AliESDpid.h"
-#include "AliTOFT0maker.h"
-#include "AliTOFcalib.h"
-#include "AliCDBManager.h"
-#include "AliITSPIDResponse.h"
-
-#include "AliRsnEvent.h"
-#include "AliRsnDaughter.h"
#include "AliRsnCutPIDITS.h"
ClassImp(AliRsnCutPIDITS)
AliRsnCutPIDITS::AliRsnCutPIDITS
(const char *name, AliPID::EParticleType ref, Double_t min, Double_t max, Bool_t rejectOutside) :
AliRsnCut(name, AliRsnCut::kDaughter, min, max),
+ fInitialized(kFALSE),
fRejectOutside(rejectOutside),
fMomMin(0.0),
fMomMax(1E+20),
AliRsnCutPIDITS::AliRsnCutPIDITS
(const AliRsnCutPIDITS& copy) :
AliRsnCut(copy),
+ fInitialized(kFALSE),
fRejectOutside(copy.fRejectOutside),
fMomMin(copy.fMomMin),
fMomMax(copy.fMomMax),
AliRsnCut::operator=(copy);
+ fInitialized = kFALSE;
fRejectOutside = copy.fRejectOutside;
fMomMin = copy.fMomMin;
fMomMax = copy.fMomMax;
// Cut checker.
//
+ // initialize if needed
+ if (!fInitialized) Initialize();
+
// coherence check
if (!TargetOK(object)) return kFALSE;
AliInfo(Form("--> momentum range : %.3f %.3f", fMomMin, fMomMax));
AliInfo(Form("--> tracks outside range are: %s", (fRejectOutside ? "rejected" : "accepted")));
}
+
+//_________________________________________________________________________________________________
+void AliRsnCutPIDITS::Initialize()
+{
+//
+// Initialize ESD pid object from global one
+//
+
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ AliESDInputHandler *handler = dynamic_cast<AliESDInputHandler*>(mgr->GetInputEventHandler());
+ if (handler)
+ {
+ AliESDpid *pid = handler->GetESDpid();
+ fESDpid = (*pid);
+ }
+
+ fInitialized = kTRUE;
+}