X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGJE%2FEMCALJetTasks%2FAliJetEmbeddingFromAODTask.cxx;h=bd21277edeb57098da47641b44ec0edd0b319c73;hb=5be3857d27d9cadf31525f52f98e91724b299532;hp=7081ce82589888d6b27b662745d4bac1a6c1e18f;hpb=7030f36f02085a8be1bff4431849e98b08cc60b8;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGJE/EMCALJetTasks/AliJetEmbeddingFromAODTask.cxx b/PWGJE/EMCALJetTasks/AliJetEmbeddingFromAODTask.cxx index 7081ce82589..bd21277edeb 100644 --- a/PWGJE/EMCALJetTasks/AliJetEmbeddingFromAODTask.cxx +++ b/PWGJE/EMCALJetTasks/AliJetEmbeddingFromAODTask.cxx @@ -51,6 +51,9 @@ AliJetEmbeddingFromAODTask::AliJetEmbeddingFromAODTask() : fTriggerMask(AliVEvent::kAny), fZVertexCut(10), fIncludeNoITS(kTRUE), + fUseNegativeLabels(kTRUE), + fTrackEfficiency(1), + fIsMC(kFALSE), fTotalFiles(2050), fAttempts(5), fEsdTreeMode(kFALSE), @@ -75,6 +78,12 @@ AliJetEmbeddingFromAODTask::AliJetEmbeddingFromAODTask() : SetMarkMC(0); fAODfilterBits[0] = -1; fAODfilterBits[1] = -1; + fEtaMin = -1; + fEtaMax = 1; + fPhiMin = -10; + fPhiMax = 10; + fPtMin = 0; + fPtMax = 1000; } //________________________________________________________________________ @@ -94,6 +103,9 @@ AliJetEmbeddingFromAODTask::AliJetEmbeddingFromAODTask(const char *name, Bool_t fTriggerMask(AliVEvent::kAny), fZVertexCut(10), fIncludeNoITS(kTRUE), + fUseNegativeLabels(kTRUE), + fTrackEfficiency(1), + fIsMC(kFALSE), fTotalFiles(2050), fAttempts(5), fEsdTreeMode(kFALSE), @@ -118,6 +130,12 @@ AliJetEmbeddingFromAODTask::AliJetEmbeddingFromAODTask(const char *name, Bool_t SetMarkMC(0); fAODfilterBits[0] = -1; fAODfilterBits[1] = -1; + fEtaMin = -1; + fEtaMax = 1; + fPhiMin = -10; + fPhiMax = 10; + fPtMin = 0; + fPtMax = 1000; } //________________________________________________________________________ @@ -363,6 +381,7 @@ void AliJetEmbeddingFromAODTask::Run() CopyMCParticles(); if (fAODMCParticles) { + AliDebug(2, Form("%d MC particles will be processed for embedding.", fAODMCParticles->GetEntriesFast())); for (Int_t i = 0; i < fAODMCParticles->GetEntriesFast(); i++) { AliAODMCParticle *part = static_cast(fAODMCParticles->At(i)); if (!part) { @@ -370,10 +389,18 @@ void AliJetEmbeddingFromAODTask::Run() continue; } + AliDebug(3, Form("Processing MC particle %d with pT = %f, eta = %f, phi = %f", i, part->Pt(), part->Eta(), part->Phi())); + if (!part->IsPhysicalPrimary()) continue; + if (part->Pt() < fPtMin || part->Pt() > fPtMax || + part->Eta() < fEtaMin || part->Eta() > fEtaMax || + part->Phi() < fPhiMin || part->Phi() > fPhiMax) + continue; + AddMCParticle(part, i); + AliDebug(3, "Embedded!"); } } } @@ -383,6 +410,8 @@ void AliJetEmbeddingFromAODTask::Run() if (fCopyArray && fTracks) CopyTracks(); + AliDebug(2, Form("Start embedding with %d tracks.", fOutTracks->GetEntriesFast())); + if (fAODTracks) { AliDebug(2, Form("%d tracks will be processed for embedding.", fAODTracks->GetEntriesFast())); for (Int_t i = 0; i < fAODTracks->GetEntriesFast(); i++) { @@ -392,6 +421,8 @@ void AliJetEmbeddingFromAODTask::Run() continue; } + AliDebug(3, Form("Processing track %d with pT = %f, eta = %f, phi = %f, label = %d", i, track->Pt(), track->Eta(), track->Phi(), track->GetLabel())); + Int_t type = 0; Bool_t isEmc = kFALSE; if (!fEsdTreeMode) { @@ -403,14 +434,17 @@ void AliJetEmbeddingFromAODTask::Run() if ((aodtrack->GetStatus()&AliESDtrack::kITSrefit)==0) { if (fIncludeNoITS) type = 2; - else + else { + AliDebug(3, "Track not embedded because ITS refit failed."); continue; } + } else { type = 1; } } else { /*not a good track*/ + AliDebug(3, "Track not embedded because not an hybrid track."); continue; } @@ -430,17 +464,36 @@ void AliJetEmbeddingFromAODTask::Run() } } + if (track->Pt() < fPtMin || track->Pt() > fPtMax || + track->Eta() < fEtaMin || track->Eta() > fEtaMax || + track->Phi() < fPhiMin || track->Phi() > fPhiMax) { + AliDebug(3, "Track not embedded because out of limits."); + continue; + } + + if (fTrackEfficiency < 1) { + Double_t r = gRandom->Rndm(); + if (fTrackEfficiency < r) { + AliDebug(3, "Track not embedded because of artificial inefiiciency."); + continue; + } + } + Int_t label = 0; - - if (fOutMCParticles) { - label = track->GetLabel(); - - if (label == 0) + if (fIsMC) { + if (fUseNegativeLabels) + label = track->GetLabel(); + else + label = TMath::Abs(track->GetLabel()); + + if (label == 0) { + AliDebug(2,Form("%s: Track %d with label==0", GetName(), i)); label = 99999; + } } - AliDebug(3, Form("Embedding track with pT = %f, eta = %f, phi = %f", track->Pt(), track->Eta(), track->Phi())); AddTrack(track->Pt(), track->Eta(), track->Phi(), type, track->GetTrackEtaOnEMCal(), track->GetTrackPhiOnEMCal(), isEmc, label); + AliDebug(3, "Track embedded!"); } } } @@ -460,6 +513,12 @@ void AliJetEmbeddingFromAODTask::Run() TLorentzVector vect; Double_t vert[3] = {0,0,0}; clus->GetMomentum(vect,vert); + + if (vect.Pt() < fPtMin || vect.Pt() > fPtMax || + vect.Eta() < fEtaMin || vect.Eta() > fEtaMax || + vect.Phi() < fPhiMin || vect.Phi() > fPhiMax) + continue; + AddCluster(clus->E(), vect.Eta(), vect.Phi(), clus->GetLabel()); } } @@ -481,7 +540,7 @@ void AliJetEmbeddingFromAODTask::Run() if (fAODCaloCells) { for (Short_t i = 0; i < fAODCaloCells->GetNumberOfCells(); i++) { - Short_t mclabel = 0; + Int_t mclabel = 0; Double_t efrac = 0.; Double_t time = -1; Short_t cellNum = -1;