#include <Riostream.h>
#include <TFile.h>
+#include <TClonesArray.h>
+
#include "AliJetFinder.h"
#include "AliJet.h"
+#include "AliAODJet.h"
#include "AliJetReader.h"
#include "AliJetReaderHeader.h"
#include "AliJetControlPlots.h"
#include "AliLeading.h"
+#include "AliAODEvent.h"
ClassImp(AliJetFinder)
fLeading(0),
fReader(0x0),
fHeader(0x0),
+ fAODjets(0x0),
+ fNAODjets(0),
fPlots(0x0),
fOut(0x0)
fJets = new AliJet();
fGenJets = new AliJet();
fLeading = new AliLeading();
+ fAODjets = 0;
}
////////////////////////////////////////////////////////////////////////
// loop over events
for (Int_t i=nFirst;i<nLast;i++) {
- fReader->FillMomentumArray(i);
+ fReader->FillMomentumArray();
fLeading->FindLeading(fReader);
fReader->GetGenJets(fGenJets);
}
if (fOut) {
fOut->cd();
- fTreeJ->Fill();
}
if (fPlots) fPlots->FillHistos(fJets);
}
-Bool_t AliJetFinder::ProcessEvent(Long64_t entry)
+Bool_t AliJetFinder::ProcessEvent()
{
//
// Process one event
//
- Int_t debug = fReader->GetReaderHeader()->GetDebug();
- if (debug > 0) printf("<<<<< Processing Event %5d >>>>> \n", (Int_t) entry);
-
- Bool_t ok = fReader->FillMomentumArray(entry);
+ Bool_t ok = fReader->FillMomentumArray();
if (!ok) return kFALSE;
// Leading particles
fLeading->FindLeading(fReader);
// Jets
FindJets();
- // Fill the tree
- fTreeJ->Fill();
if (fPlots) fPlots->FillHistos(fJets);
fLeading->Reset();
if (fOut) {
fOut->cd();
- fTreeJ->Write();
if (fPlots) {
fPlots->Write();
}
}
}
+void AliJetFinder::AddJet(AliAODJet p)
+{
+ // Add new jet to the list
+ new ((*fAODjets)[fNAODjets++]) AliAODJet(p);
+}
+
+void AliJetFinder::ConnectAOD(AliAODEvent* aod)
+{
+// Connect to the AOD
+ fAODjets = aod->GetJets();
+}
+
+void AliJetFinder::ConnectAODNonStd(AliAODEvent* aod,const char *bname)
+{
+
+ fAODjets = dynamic_cast<TClonesArray*>(aod->FindListObject(bname));
+ // how is this is reset? Cleared?
+}