Corrected bug in cluster selection with PID
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 May 2009 12:10:45 +0000 (12:10 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 14 May 2009 12:10:45 +0000 (12:10 +0000)
PWG4/PartCorrDep/AliAnaParticleHadronCorrelation.cxx
PWG4/PartCorrDep/AliAnaParticleJetLeadingConeCorrelation.cxx
PWG4/macros/AddTaskPartCorr.C

index 259a6da..28df77a 100755 (executable)
@@ -468,8 +468,8 @@ void  AliAnaParticleHadronCorrelation::MakeNeutralCorrelationFillAOD(AliAODPWG4P
     //Cluster selection, not charged, with photon or pi0 id and in fidutial cut
     Int_t pdg=0;
     if(!SelectCluster(calo, vertex, gammai, pdg)) continue ;
-    
-    if(GetDebug() > 2)
+
+       if(GetDebug() > 2)
       printf("AliAnaParticleHadronCorrelation::MakeNeutralCorrelationFillAOD() - Neutral cluster in %s: pt %f, phi %f, phi trigger %f. Cuts:  delta phi min %2.2f,  max %2.2f, pT min %2.2f \n",
             detector.Data(), gammai.Pt(),gammai.Phi(),phiTrig,fDeltaPhiMinCut, fDeltaPhiMaxCut, GetMinPt());
     
@@ -633,18 +633,18 @@ Bool_t  AliAnaParticleHadronCorrelation::SelectCluster(AliAODCaloCluster * calo,
   //Select cluster depending on its pid and acceptance selections
   
   //Skip matched clusters with tracks
-  if(calo->GetNTracksMatched() > 0) {
-    return kFALSE;} 
+  if(calo->GetNTracksMatched() > 0) return kFALSE;
   
+  TString detector = "";
+  if(calo->IsPHOSCluster()) detector= "PHOS";
+  else if(calo->IsEMCALCluster()) detector= "EMCAL";
+               
   //Check PID
   calo->GetMomentum(mom,vertex);//Assume that come from vertex in straight line
   pdg = AliCaloPID::kPhoton;   
   if(IsCaloPIDOn()){
     //Get most probable PID, 2 options check PID weights (in MC this option is mandatory)
     //or redo PID, recommended option for EMCal.
-    TString detector = "";
-    if(calo->IsPHOSCluster()) detector= "PHOS";
-    else if(calo->IsEMCALCluster()) detector= "EMCAL";
     
     if(!IsCaloPIDRecalculationOn() || GetReader()->GetDataType() == AliCaloTrackReader::kMC )
       pdg = GetCaloPID()->GetPdg(detector,calo->PID(),mom.E());//PID with weights
@@ -654,19 +654,15 @@ Bool_t  AliAnaParticleHadronCorrelation::SelectCluster(AliAODCaloCluster * calo,
     if(GetDebug() > 5) printf("AliAnaParticleHadronCorrelation::SelectCluster() - PDG of identified particle %d\n",pdg);
     
     //If it does not pass pid, skip
-    if(pdg != AliCaloPID::kPhoton || pdg != AliCaloPID::kPi0) {
+    if(pdg != AliCaloPID::kPhoton && pdg != AliCaloPID::kPi0) {
       return kFALSE ;
     }
-  }
+  }//PID on
   
   //Check acceptance selection
   if(IsFidutialCutOn()){
-    Bool_t in = kFALSE;
-    if(calo->IsPHOSCluster())
-      in = GetFidutialCut()->IsInFidutialCut(mom,"PHOS") ;
-    else if(calo->IsEMCALCluster())
-      in = GetFidutialCut()->IsInFidutialCut(mom,"EMCAL") ;
-    if(! in ) { return kFALSE ;}
+    Bool_t in = GetFidutialCut()->IsInFidutialCut(mom,detector) ;
+    if(! in ) return kFALSE ;
   }
   
   if(GetDebug() > 5) printf("AliAnaParticleHadronCorrelation::SelectCluster() - Correlation photon selection cuts passed: pT %3.2f, pdg %d\n",mom.Pt(), pdg);
index fc546a4..2ce67a4 100755 (executable)
@@ -1629,7 +1629,7 @@ Bool_t  AliAnaParticleJetLeadingConeCorrelation::SelectCluster(AliAODCaloCluster
     
   //  if(GetDebug() > 3) printf("AliAnaParticleJetLeadingConeCorrelation::SelectCluster() - PDG of identified particle %d\n",pdg);
     //If it does not pass pid, skip
-    if(pdg != AliCaloPID::kPhoton || pdg != AliCaloPID::kPi0) 
+    if(pdg != AliCaloPID::kPhoton && pdg != AliCaloPID::kPi0) 
       return kFALSE ;
   }//CaloPID
   
index bd30f19..f734169 100644 (file)
@@ -131,6 +131,7 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString data, TString calori
   anacorrhadron->SetOutputAODName("CorrelatedPi0s"+calorimeter);
   anacorrhadron->SetOutputAODClassName("AliAODPWG4ParticleCorrelation");
   anacorrhadron->SetDebug(-1);
+  anacorrhadron->SwitchOffCaloPID();
   anacorrhadron->SwitchOffFidutialCut();
   anacorrhadron->SetPtCutRange(1,100);
   anacorrhadron->SetDeltaPhiCutRange(1.5,4.5);