#include "TMatrixDSymEigen.h"
#include "TVector.h"
+using std::ifstream;
ClassImp(AliAnalysisHelperJetTasks)
Int_t AliAnalysisHelperJetTasks::fgLastProcessType = -1;
// Check energy fraction from jets from first list in jets from second list
// Matched jets = jet with largest energy fraction
// Store index of matched jet in TArrayI iMatchIndex
-
+
// reset index
iMatchIndex.Reset(-1);
fPtFraction.Reset(-1.);
const Int_t nGenJets = TMath::Min(genJetsList->GetEntries(),kGenJets);
const Int_t nRecJets = TMath::Min(recJetsList->GetEntries(),kRecJets);
- if(nRecJets==0||nGenJets==0) return;
-
+ if(nRecJets==0||nGenJets==0) {
+ if(iDebug>10) Printf("No jets nRecJets %d nGenJets %d\n",nRecJets,nGenJets);
+ return;
+ }
AliAODJet *genJet = 0x0;
AliAODJet *recJet = 0x0;
genJet = (AliAODJet*)genJetsList->At(ig);
//if(!genJet || !JetSelected(genJet)) continue;
- if(!genJet) continue;
+ if(!genJet) {
+ if(iDebug>10) Printf("genJet %d doesnot exist",ig);
+ continue;
+ }
// find N closest reconstructed jets
Double_t deltaR = 0.;
for(Int_t ir=0; ir<nRecJets; ++ir){
recJet = (AliAODJet*)recJetsList->At(ir);
//if(!recJet || !JetSelected(recJet)) continue;
- if(!recJet) continue;
-
+ if(!recJet) {
+ if(iDebug>10) Printf("recJet %d doesnot exist",ir);
+ continue;
+ }
deltaR = genJet->DeltaR(recJet);
Int_t i=kClosestJetsN-1;
Int_t nTracksGenJet = genTrackList->GetEntriesFast();
Int_t nTracksRecJet = recTrackList->GetEntriesFast();
- AliAODTrack* recTrack;
- AliAODTrack* genTrack;
+ // AliAODTrack* recTrack;
+ // AliAODTrack* genTrack;
+ AliVParticle* recTrack;
+ AliVParticle* genTrack;
for(Int_t ir=0; ir<nTracksRecJet; ++ir){
- recTrack = (AliAODTrack*)(recTrackList->At(ir));
+ // recTrack = (AliAODTrack*)(recTrackList->At(ir));
+ recTrack = dynamic_cast<AliVParticle*>(recTrackList->At(ir));
if(!recTrack) continue;
for(Int_t ig=0; ig<nTracksGenJet; ++ig){
- genTrack = (AliAODTrack*)(genTrackList->At(ig));
+ // genTrack = (AliAODTrack*)(genTrackList->At(ig));
+ genTrack = dynamic_cast<AliVParticle*>(genTrackList->At(ig));
if(!genTrack) continue;
// look if it points to the same track
fTrials = 1;
if(file.Contains("root_archive.zip#")){
- Ssiz_t pos1 = file.Index("root_archive",12,TString::kExact);
+ Ssiz_t pos1 = file.Index("root_archive",12,0,TString::kExact);
Ssiz_t pos = file.Index("#",1,pos1,TString::kExact);
- file.Replace(pos+1,20,"");
+ Ssiz_t pos2 = file.Index(".root",5,TString::kExact);
+ file.Replace(pos+1,pos2-pos1,"");
}
else {
// not an archive take the basename....