X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=JETAN%2FAliAnalysisTaskJetCluster.cxx;h=270b6140abd53242c739aaca74e0cefc4ef904a4;hb=4d019bab422f7f1f1fd4c6a1c472ab41a787f9a0;hp=517ef2c0755ab5f92efa5cdcb1e7fe19680297f9;hpb=c18b64eab0ae8e82f9398f65ad2ab308d9a18c27;p=u%2Fmrichter%2FAliRoot.git diff --git a/JETAN/AliAnalysisTaskJetCluster.cxx b/JETAN/AliAnalysisTaskJetCluster.cxx index 517ef2c0755..270b6140abd 100644 --- a/JETAN/AliAnalysisTaskJetCluster.cxx +++ b/JETAN/AliAnalysisTaskJetCluster.cxx @@ -909,8 +909,13 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/) //Check if information is provided detector level effects if(!fMomResH1 || !fMomResH2 || !fMomResH3) fUseTrPtResolutionSmearing = kFALSE; - if(!fhEffH1 || !fhEffH2 || !fhEffH3 ) fUseDiceEfficiency = kFALSE; - if( fEfficiencyFixed < 1. ) fUseDiceEfficiency = kTRUE; + if( fEfficiencyFixed < 1. ) { + if (!fUseDiceEfficiency) + fUseDiceEfficiency = 1; // 1 is the default; 2 can be set by user + } + else { + if(!fhEffH1 || !fhEffH2 || !fhEffH3 ) fUseDiceEfficiency = kFALSE; + } Bool_t selectEvent = false; Bool_t physicsSelection = true;// handled by the framework(fInputHandler->IsEventSelected()&AliVEvent::kMB)==AliVEvent::kMB; @@ -998,6 +1003,7 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/) Int_t nT = GetListOfTracks(&recParticles,fTrackTypeRec); Float_t nCh = recParticles.GetEntries(); + Float_t nGen=genParticles.GetEntries(); fh1Nch->Fill(nCh); if(fDebug>2)Printf("%s:%d Selected Rec tracks: %d %d",(char*)__FILE__,__LINE__,nT,recParticles.GetEntries()); nT = GetListOfTracks(&genParticles,fTrackTypeGen); @@ -1035,6 +1041,9 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/) Double_t rnd = fRandom->Uniform(1.); if( fEfficiencyFixed<1. ) { sumEff = fEfficiencyFixed; + if (fUseDiceEfficiency == 2) { + sumEff = (nCh - fEfficiencyFixed*nGen) / nCh; // rescale eff; fEfficiencyFixed is wrt to nGen, but dicing is fraction of nCh + } } else { pT = vp->Pt(); @@ -1878,7 +1887,7 @@ Int_t AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){ if(fDebug>10)Printf("%s:%d Not matching filter %d/%d %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks(),fFilterMask,tr->GetFilterMap()); continue; } - if(fRequireITSRefit==0){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;} + if(fRequireITSRefit){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;} if(TMath::Abs(tr->Eta())>fTrackEtaWindow){ if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks()); continue; @@ -1913,7 +1922,7 @@ Int_t AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){ else if(fFilterType == 1)bGood = trackAOD->IsHybridTPCConstrainedGlobal(); else if(fFilterType == 2)bGood = trackAOD->IsHybridGlobalConstrainedGlobal(); if((fFilterMask>0)&&((!trackAOD->TestFilterBit(fFilterMask)||(!bGood))))continue; - if(fRequireITSRefit==0){if((trackAOD->GetStatus()&AliESDtrack::kITSrefit)==0)continue;} + if(fRequireITSRefit){if((trackAOD->GetStatus()&AliESDtrack::kITSrefit)==0)continue;} if(TMath::Abs(trackAOD->Eta())>fTrackEtaWindow) continue; if(trackAOD->Pt()Pt()); @@ -2246,3 +2255,4 @@ bool AliAnalysisTaskJetCluster::IsDMeson(int pc){ for(int i=0;i< (int)(sizeof(bPdG)/sizeof(int));++i) if(abs(pc) == bPdG[i]) return true; return false; } +