fEvent(0x0),
fAnalysisType(0),
fNEvents(0),
+ fHLTEvent(0x0),
+ fHLTTree(0x0),
+ fUseHLT(kFALSE),
fUseTags(kFALSE),
fChainT(0),
fTreeT(0),
//______________________________________________________________________________
AliESDInputHandler::AliESDInputHandler(const char* name, const char* title):
AliInputEventHandler(name, title), fEvent(0x0), fAnalysisType(0),
- fNEvents(0), fUseTags(kFALSE), fChainT(0), fTreeT(0), fRunTag(0)
+ fNEvents(0), fHLTEvent(0x0), fHLTTree(0x0), fUseHLT(kFALSE), fUseTags(kFALSE), fChainT(0), fTreeT(0), fRunTag(0)
{
// Constructor
}
fTree = tree;
if (!fTree) return kFALSE;
+ fTree->GetEntry(0);
+
// Get pointer to ESD event
SwitchOffBranches();
SwitchOnBranches();
- if (fEvent) {
- delete fEvent;
- fEvent = 0;
- }
- fEvent = new AliESDEvent();
-
+ if (!fEvent) fEvent = new AliESDEvent();
fEvent->ReadFromTree(fTree);
fNEvents = fTree->GetEntries();
+
+
return kTRUE;
}
-Bool_t AliESDInputHandler::BeginEvent(Long64_t /*entry*/)
+Bool_t AliESDInputHandler::BeginEvent(Long64_t entry)
{
// Copy from old to new format if necessary
AliESD* old = ((AliESDEvent*) fEvent)->GetAliESDOld();
((AliESDEvent*)fEvent)->CopyFromOldESD();
old->Reset();
}
+
+ if (fHLTTree) {
+ fHLTTree->GetEntry(entry);
+ }
+
return kTRUE;
}
// Notify a directory change
AliInfo(Form("Directory change %s \n", path));
//
+ if (fUseHLT) {
+ // Get HLTesdTree from current file
+ TTree* cTree = fTree;
+ if (fTree->GetTree()) cTree = fTree->GetTree();
+ TFile* cFile = cTree->GetCurrentFile();
+ cFile->GetObject("HLTesdTree", fHLTTree);
+
+ if (fHLTTree) {
+ if (!fHLTEvent) fHLTEvent = new AliESDEvent();
+ fHLTEvent->ReadFromTree(fHLTTree);
+ }
+ }
+
if (!fUseTags) return (kTRUE);
Bool_t zip = kFALSE;
}
printf("AliESDInputHandler::Notify() Path: %s\n", pathName.Data());
-
+
if (fRunTag) {
fRunTag->Clear();
} else {
}
delete fTreeT; fTreeT = 0;
-
+
if (fChainT) {
delete fChainT;
fChainT = 0;