]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - JETAN/AliAnalysisTaskJetCluster.cxx
Ensure vacuum inside the beam pipe for upgrade (Mario)
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskJetCluster.cxx
index e6639177642a62d682f8950e21bd61168fe519a9..3e765dc70f8cae8be40fccaadacd0cb91233fd92 100644 (file)
@@ -932,7 +932,7 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/)
     TString vtxTitle(vtxAOD->GetTitle());
     zVtx = vtxAOD->GetZ();
 
-    cent = fAOD->GetHeader()->GetCentrality();
+    cent = ((AliVAODHeader*)fAOD->GetHeader())->GetCentrality();
     if(cent<10)cenClass = 0;
     else if(cent<30)cenClass = 1;
     else if(cent<50)cenClass = 2;
@@ -1882,7 +1882,8 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
       }
 
       for(int it = 0;it < aod->GetNumberOfTracks();++it){
-       AliAODTrack *tr = aod->GetTrack(it);
+       AliAODTrack *tr = dynamic_cast<AliAODTrack*>(aod->GetTrack(it));
+        if(!tr) AliFatal("Not a standard AOD");
        Bool_t bGood = false;
        if(fFilterType == 0)bGood = true;
        else if(fFilterType == 1)bGood = tr->IsHybridTPCConstrainedGlobal();
@@ -1901,12 +1902,9 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
          if (trPt <= 20. && (ntpcClus < NTPCClsCut.Eval(trPt))) continue;
          else if (trPt > 20. && ntpcClus < 100) continue;
 
-         Int_t idtr1 = tr->GetID(); 
-         Bool_t flagSame = kFALSE;
-         AvoidDoubleCountingHF(aod, idtr1, flagSame);
-         if (flagSame) continue; 
+         if (AvoidDoubleCountingHF(aod,tr)) continue;
        }
-       // 
+       //
 
         if(fRequireITSRefit){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;}
         if (fApplySharedClusterCut) {
@@ -2109,23 +2107,26 @@ Int_t AliAnalysisTaskJetCluster::AddDaughters(TList * list, AliAODMCParticle *pa
        }                       
 return count;  
 }
-void AliAnalysisTaskJetCluster::AvoidDoubleCountingHF(AliAODEvent *aod, Int_t idtr1,  Bool_t &fFlagSameTr){
+
+
+Bool_t AliAnalysisTaskJetCluster::AvoidDoubleCountingHF(AliAODEvent *aod, AliAODTrack *tr1){
   
-       Bool_t sametr = kFALSE;
+  if(!(tr1->TestFilterBit(BIT(9)))) return kFALSE;
 
-     for(int jt = 0;jt < aod->GetNumberOfTracks();++jt){
+  Int_t idtr1 = tr1->GetID();
 
-       AliAODTrack *tr2 = aod->GetTrack(jt);
-       Int_t idtr2 = tr2->GetID();
-       if (idtr2>-1) continue;
+  for(int jt = 0;jt < aod->GetNumberOfTracks();++jt){
 
-       idtr2=-1*idtr2;
-       if (idtr1==idtr2-1) sametr = kTRUE;
+    AliAODTrack *tr2 = dynamic_cast<AliAODTrack*>(aod->GetTrack(jt));
+    if(!tr2) AliFatal("Not a standard AOD");
+    Int_t idtr2 = tr2->GetID();
+       
+    if (!(tr2->TestFilterBit(BIT(4)))) continue;
+    if (idtr1==(idtr2+1)*-1.) return kTRUE;
        
-     }
-     fFlagSameTr = sametr;
+  }
+  return kFALSE;
 }
-
 void AliAnalysisTaskJetCluster::LoadTrPtResolutionRootFileFromOADB() {
 
    if (!gGrid) {