]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Speed optimization: LLWeight bufferred
authorskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 30 Aug 2003 09:04:53 +0000 (09:04 +0000)
committerskowron <skowron@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 30 Aug 2003 09:04:53 +0000 (09:04 +0000)
HBTAN/AliHBTAnalysis.cxx
HBTAN/AliHBTCorrFitFctn.cxx
HBTAN/AliHBTLLWeightFctn.cxx
HBTAN/AliHBTLLWeightTheorFctn.cxx
HBTAN/AliHBTPair.cxx
HBTAN/AliHBTPair.h

index 22eb7e60164df08a03063620f816df04513cec68..d120bd03aadd57fca979411915a81b03a4d1566d 100644 (file)
@@ -337,15 +337,15 @@ void AliHBTAnalysis::ProcessTracksAndParticles()
 //          }
          
          Bool_t firstcut = fPairCut->GetFirstPartCut()->Pass(part1);
-         
-         if ( (firstcut == kFALSE) || (fPairCut->GetSecondPartCut()->Pass(part1) == kFALSE) )
-          {
-            //accepted by any cut
-            // we have to copy because reader keeps only one event
-            
-            partEvent1->AddParticle(new AliHBTParticle(*part1));
-            trackEvent1->AddParticle(new AliHBTParticle(*track1));
-          }
+         if (fBufferSize == 0) 
+           if ( (firstcut == kFALSE) || (fPairCut->GetSecondPartCut()->Pass(part1) == kFALSE) )
+            {
+              //accepted by any cut
+              // we have to copy because reader keeps only one event
+
+              partEvent1->AddParticle(new AliHBTParticle(*part1));
+              trackEvent1->AddParticle(new AliHBTParticle(*track1));
+            }
 
          if (firstcut) continue;
          
@@ -500,12 +500,13 @@ void AliHBTAnalysis::ProcessTracks()
          track1= trackEvent->GetParticle(j);
          Bool_t firstcut = fPairCut->GetFirstPartCut()->Pass(track1);
          
-         if ( (firstcut == kFALSE) || (fPairCut->GetSecondPartCut()->Pass(track1) == kFALSE) )
-          {
-            //accepted by any cut
-            // we have to copy because reader keeps only one event
-            trackEvent1->AddParticle(new AliHBTParticle(*track1));
-          }
+         if (fBufferSize == 0) //useless in case 
+           if ( (firstcut == kFALSE) || (fPairCut->GetSecondPartCut()->Pass(track1) == kFALSE) )
+            {
+              //accepted by any cut
+              // we have to copy because reader keeps only one event
+              trackEvent1->AddParticle(new AliHBTParticle(*track1));
+            }
 
          if (firstcut) continue;
 
@@ -627,12 +628,13 @@ void AliHBTAnalysis::ProcessParticles()
          part1 = partEvent->GetParticle(j);
          Bool_t firstcut = fPairCut->GetFirstPartCut()->Pass(part1);
          
-         if ( (firstcut == kFALSE) || (fPairCut->GetSecondPartCut()->Pass(part1) == kFALSE) )
-          {
-            //accepted by any cut
-            // we have to copy because reader keeps only one event
-            partEvent1->AddParticle(new AliHBTParticle(*part1));
-          }
+         if (fBufferSize == 0) //useless in case 
+           if ( (firstcut == kFALSE) || (fPairCut->GetSecondPartCut()->Pass(part1) == kFALSE) )
+            {
+              //accepted by any cut
+              // we have to copy because reader keeps only one event
+              partEvent1->AddParticle(new AliHBTParticle(*part1));
+            }
 
          if (firstcut) continue;
 
index b84d5e255436dba4274ecef7fd8ae9456483b695..8c44d77eb52e5d72fdd03b4cd5f4ee7e494511a1 100644 (file)
@@ -7,9 +7,6 @@
 //                                                           //
 ///////////////////////////////////////////////////////////////
 
-#include "AliHBTLLWeights.h"
-
-
 ClassImp(AliHBTCorrFitFctn)
 
 /*****************************************************************/
@@ -37,7 +34,7 @@ void AliHBTCorrFitFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTP
    Double_t q = trackpair->GetQInv();
    Bool_t fill = kFALSE;
    
-   Double_t weight = AliHBTLLWeights::Instance()->GetWeight(partpair);
+   Double_t weight = partpair->GetLLWeight();
    fNumerator->Fill(q,weight);
    
    if ( (q < 0.15) && (fNPairsFitArea < 2.e+5))
index 41c05b702c727596736b58abe83d576eadcbc821..0991d5de20115522f45ba6f928d8ec9011409811 100644 (file)
@@ -12,7 +12,6 @@
 //One needs both pairs 
 //(simulated and recontructed), thus function is of class AliHBTTwoPairFctn1D.
 //Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru)
-#include "AliHBTLLWeights.h"
 #include "AliHBTLLWeightsPID.h"
 
 //--for test--AliHBTLLWeightQInvFctn* yyy= new AliHBTLLWeightQInvFctn();
@@ -37,7 +36,7 @@ void  AliHBTLLWeightQInvFctn::ProcessSameEventParticles(AliHBTPair* trackpair, A
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.)fNumerator->Fill(trackpair->GetQInv(),weight);
   }
@@ -84,7 +83,7 @@ void AliHBTLLWeightQOutFctn::ProcessSameEventParticles(AliHBTPair* trackpair, Al
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.) fNumerator->Fill(trackpair->GetQOutCMSLC(),weight);
   }
@@ -130,7 +129,7 @@ void AliHBTLLWeightQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpair, A
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.) fNumerator->Fill(trackpair->GetQLongCMSLC(),weight);
   }
@@ -178,7 +177,7 @@ void AliHBTLLWeightQSideFctn::ProcessSameEventParticles(AliHBTPair* trackpair, A
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.) fNumerator->Fill(trackpair->GetQSideCMSLC(),weight);
   }
@@ -225,7 +224,7 @@ void AliHBTLLWeightTwoKStarFctn::ProcessSameEventParticles(AliHBTPair* trackpair
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.) fNumerator->Fill(2.0*(trackpair->GetKStar()),weight);
   }
@@ -274,7 +273,7 @@ void AliHBTLLWeightQOutQSideFctn::ProcessSameEventParticles(AliHBTPair* trackpai
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.) 
       fNumerator->Fill(trackpair->GetQOutCMSLC(),trackpair->GetQSideCMSLC(),weight);
@@ -323,7 +322,7 @@ void AliHBTLLWeightQOutQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpai
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.) 
       fNumerator->Fill(trackpair->GetQOutCMSLC(),trackpair->GetQLongCMSLC(),weight);
@@ -373,7 +372,7 @@ void AliHBTLLWeightQSideQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpa
   if ( trackpair && partpair)     
   {
     Double_t weightPID=1.;
-    Double_t weightHBT=AliHBTLLWeights::Instance()->GetWeight(partpair);
+    Double_t weightHBT=partpair->GetLLWeight();
     Double_t weight=weightHBT*weightPID;
     if(TMath::Abs(weight)<=10.) 
       fNumerator->Fill(trackpair->GetQSideCMSLC(),trackpair->GetQLongCMSLC(),weight);
index 5e961405f914a1a8c7688e5c671654d707d896bf..515ab870f97d8f2afb64b322ff1597647e05baa3 100644 (file)
@@ -8,7 +8,6 @@
 //-----------------------------------------------------------
 
 #include "AliHBTLLWeightTheorFctn.h"
-#include "AliHBTLLWeights.h"
 
 //--for test--AliHBTLLWeightQInvFctn* yyy= new AliHBTLLWeightQInvFctn();
 /*************************************************************/
@@ -32,7 +31,7 @@ void  AliHBTLLWeightTheorQInvFctn::ProcessSameEventParticles(AliHBTPair* partpai
   //Processes Particles and tracks Same different even
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
-  Double_t weight = AliHBTLLWeights::Instance()->GetWeight(partpair);
+  Double_t weight = partpair->GetLLWeight();
   if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQInv(),weight);
 } 
 
@@ -64,7 +63,7 @@ void  AliHBTLLWeightTheorQOutFctn::ProcessSameEventParticles(AliHBTPair* partpai
   //Processes Particles and tracks Same different even
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
-  Double_t weight = AliHBTLLWeights::Instance()->GetWeight(partpair);
+  Double_t weight = partpair->GetLLWeight();
   if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQOutCMSLC(),weight);
 } 
 
@@ -96,7 +95,7 @@ void  AliHBTLLWeightTheorQSideFctn::ProcessSameEventParticles(AliHBTPair* partpa
   //Processes Particles and tracks Same different even
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
-  Double_t weight = AliHBTLLWeights::Instance()->GetWeight(partpair);
+  Double_t weight = partpair->GetLLWeight();
   if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQSideCMSLC(),weight);
 } 
 
@@ -128,7 +127,7 @@ void  AliHBTLLWeightTheorQLongFctn::ProcessSameEventParticles(AliHBTPair* partpa
   //Processes Particles and tracks Same different even
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
-  Double_t weight = AliHBTLLWeights::Instance()->GetWeight(partpair);
+  Double_t weight = partpair->GetLLWeight();
   if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQLongCMSLC(),weight);
 } 
 
index b9eed8114edd3194a86a7e7272bfcd28abaa3ad0..1751a2ec3bf3f1a7b6ec5f87854e77d02e37296d 100644 (file)
@@ -1,5 +1,6 @@
 #include "AliHBTPair.h"
 #include "AliHBTParticle.h"
+#include "AliHBTLLWeights.h"
 
 ClassImp(AliHBTPair)
 
@@ -32,6 +33,8 @@ AliHBTPair::AliHBTPair(Bool_t rev):
  fMassSqrNotCalc(kTRUE),
  fQInvL(0.0),
  fQInvLNotCalc(kTRUE),
+ fLLWeight(0.0),
+ ffLLWeightNotCalc(kTRUE),
  fPxSum(0.0),
  fPySum(0.0),
  fPzSum(0.0),
@@ -83,6 +86,8 @@ AliHBTPair::AliHBTPair(AliHBTParticle* part1, AliHBTParticle* part2, Bool_t rev)
  fMassSqrNotCalc(kTRUE),
  fQInvL(0.0),
  fQInvLNotCalc(kTRUE),
+ fLLWeight(0.0),
+ ffLLWeightNotCalc(kTRUE),
  fPxSum(0.0),
  fPySum(0.0),
  fPzSum(0.0),
@@ -291,9 +296,11 @@ Double_t AliHBTPair::GetMt()
 }
 /************************************************************************/
 
-
-
-
-
-
-
+Double_t AliHBTPair::GetLLWeight()
+{
+  if (ffLLWeightNotCalc)
+   {
+      fLLWeight = AliHBTLLWeights::Instance()->GetWeight(this);
+   }
+  return fLLWeight; 
+}
index fdd8a129f2e2ace65faf98b9decf2660bbfa9c2e..f01c5922f67ad057eab509c123ce06c1e26156d1 100644 (file)
@@ -41,6 +41,7 @@ class AliHBTPair: public TObject
    virtual Double_t GetDeltaPz();
    
    virtual Double_t GetGammaToCMSLC();
+   Double_t GetLLWeight();
  protected:
    AliHBTParticle* fPart1;  //pointer to first particle
    AliHBTParticle* fPart2;  //pointer to second particle
@@ -90,6 +91,9 @@ class AliHBTPair: public TObject
    Double_t fQInvL;
    Bool_t   fQInvLNotCalc;
    void     CalculateQInvL();
+
+   Double_t fLLWeight;
+   Bool_t   ffLLWeightNotCalc;
    
    Double_t fPxSum;
    Double_t fPySum;
@@ -149,6 +153,7 @@ void AliHBTPair::Changed()
  fKStarNotCalc      = kTRUE;
  fQInvLNotCalc      = kTRUE;
  fGammaCMSLCNotCalc = kTRUE;
+ ffLLWeightNotCalc = kTRUE;
 }
 /****************************************************************/
 inline