]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fixes (Jeremy)
authorfprino <fprino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Apr 2013 22:52:16 +0000 (22:52 +0000)
committerfprino <fprino@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Apr 2013 22:52:16 +0000 (22:52 +0000)
PWGHF/vertexingHF/AliRDHFCutsD0toKpi.cxx
PWGHF/vertexingHF/AliRDHFCutsD0toKpi.h

index e5ac7499aad858beef511b9955b0a50e12fbe26d..955925d93d9956bf5220b9f01fc37fbfe4b42c4e 100644 (file)
@@ -51,8 +51,9 @@ fPtLowPID(2.),
 fPtMaxSpecialCuts(9999.),
 fmaxPtrackForPID(9999),
 fCombPID(kFALSE),
-fWeightsPositive(new Double_t[AliPID::kSPECIES]),
-fWeightsNegative(new Double_t[AliPID::kSPECIES]),
+fnSpecies(AliPID::kSPECIES),
+fWeightsPositive(0),
+fWeightsNegative(0),
 fBayesianStrategy(0)
 {
   //
@@ -98,6 +99,9 @@ fBayesianStrategy(0)
   Float_t limits[2]={0,999999999.};
   SetPtBins(2,limits);
 
+  fWeightsNegative = new Double_t[AliPID::kSPECIES];
+  fWeightsPositive = new Double_t[AliPID::kSPECIES];
+  
   for (Int_t i = 0; i<AliPID::kSPECIES; i++) {
     fWeightsPositive[i] = 0.;
     fWeightsNegative[i] = 0.;
@@ -115,6 +119,7 @@ AliRDHFCutsD0toKpi::AliRDHFCutsD0toKpi(const AliRDHFCutsD0toKpi &source) :
   fPtMaxSpecialCuts(source.fPtMaxSpecialCuts),
   fmaxPtrackForPID(source.fmaxPtrackForPID),
   fCombPID(source.fCombPID),
+  fnSpecies(source.fnSpecies),
   fWeightsPositive(source.fWeightsPositive),
   fWeightsNegative(source.fWeightsNegative),
   fBayesianStrategy(source.fBayesianStrategy)
@@ -141,6 +146,7 @@ AliRDHFCutsD0toKpi &AliRDHFCutsD0toKpi::operator=(const AliRDHFCutsD0toKpi &sour
   fPtMaxSpecialCuts=source.fPtMaxSpecialCuts;
   fmaxPtrackForPID=source.fmaxPtrackForPID;
   fCombPID = source.fCombPID;
+  fnSpecies = source.fnSpecies;
   fWeightsPositive = source.fWeightsPositive;
   fWeightsNegative = source.fWeightsNegative;
   fBayesianStrategy = source.fBayesianStrategy;
@@ -2042,9 +2048,6 @@ void AliRDHFCutsD0toKpi::CalculateBayesianWeights(AliAODRecoDecayHF* d)
 
 {
   //Function to compute weights for Bayesian method
-  Double_t *prob0;
-  prob0 = new Double_t[AliPID::kSPECIES];
-
 
   AliAODTrack *aodtrack[2] = {(AliAODTrack*)d->GetDaughter(0), (AliAODTrack*)d->GetDaughter(1)};
   if ((aodtrack[0]->Charge() * aodtrack[1]->Charge()) != -1) {
@@ -2058,16 +2061,14 @@ void AliRDHFCutsD0toKpi::CalculateBayesianWeights(AliAODRecoDecayHF* d)
     }
 
 
-    // identify kaon
-    fPidHF->GetPidCombined()->ComputeProbabilities(aodtrack[daught], fPidHF->GetPidResponse(), prob0);
-
+    // identify kaon, define weights
     if (aodtrack[daught]->Charge() == +1) {
-      SetWeightsPositive(prob0);
+    fPidHF->GetPidCombined()->ComputeProbabilities(aodtrack[daught], fPidHF->GetPidResponse(), fWeightsPositive);
     }
+    
     if (aodtrack[daught]->Charge() == -1) {
-      SetWeightsNegative(prob0);
+    fPidHF->GetPidCombined()->ComputeProbabilities(aodtrack[daught], fPidHF->GetPidResponse(), fWeightsNegative);
     }
-
   }
 }
 
index 149e2142e89b102a82d42baf74b7a1ea1c66d478..20ab343305da4d9ac0f3810ec92303d2a0cdf304 100644 (file)
@@ -21,6 +21,7 @@ class AliRDHFCutsD0toKpi : public AliRDHFCuts
 {
  public:
 
+
   AliRDHFCutsD0toKpi(const char* name="CutsD0toKpi");
   
   virtual ~AliRDHFCutsD0toKpi();
@@ -88,13 +89,12 @@ class AliRDHFCutsD0toKpi : public AliRDHFCuts
      kBayesWeightNoFilter,
      kBayesSimple
   };
-  
+
   void SetCombPID(Bool_t CombPID){fCombPID=CombPID;}
   Bool_t GetCombPID() const {return fCombPID;}
-  
 
  protected:
+  
   Int_t IsSelectedKF(AliAODRecoDecayHF2Prong* d,AliAODEvent* aod) const;
 
   Bool_t fUseSpecialCuts;  // flag to switch on/off special cuts
@@ -109,12 +109,12 @@ class AliRDHFCutsD0toKpi : public AliRDHFCuts
   Double_t  fmaxPtrackForPID; // max momentum for applying PID
 
   Bool_t fCombPID;             //switch for Bayesian
-  
-  Double_t* fWeightsPositive;  //Bayesian weights for positive track
-  Double_t* fWeightsNegative;  //Bayesian weights for negative track
+  Int_t fnSpecies;   //number of species (used only for array declaration)
+  Double_t* fWeightsPositive; //[fnSpecies] Bayesian weights for positive track
+  Double_t* fWeightsNegative; //[fnSpecies] Bayesian weights for negative track
   Int_t fBayesianStrategy;
 
-  ClassDef(AliRDHFCutsD0toKpi,9);  // class for cuts on AOD reconstructed D0->Kpi
+  ClassDef(AliRDHFCutsD0toKpi,10);  // class for cuts on AOD reconstructed D0->Kpi
 };
 
 #endif