Add pair grouping to CF
authorakisiel <akisiel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Apr 2009 09:16:27 +0000 (09:16 +0000)
committerakisiel <akisiel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Apr 2009 09:16:27 +0000 (09:16 +0000)
PWG2/FEMTOSCOPY/AliFemto/AliFemtoCorrFctn.h
PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoCorrFctnDirectYlm.cxx
PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoCorrFctnDirectYlm.h
PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoModelCorrFctnDirectYlm.cxx

index 15367a4..83041fd 100644 (file)
@@ -8,6 +8,7 @@
 #include "AliFemtoAnalysis.h"
 #include "AliFemtoEvent.h"
 #include "AliFemtoPair.h"
+#include "AliFemtoPairCut.h"
 
 class AliFemtoCorrFctn{
 
@@ -34,9 +35,11 @@ public:
 
   AliFemtoAnalysis* HbtAnalysis(){return fyAnalysis;};
   void SetAnalysis(AliFemtoAnalysis* aAnalysis);
+  void SetPairSelectionCut(AliFemtoPairCut* aCut);
 
 protected:
-  AliFemtoAnalysis* fyAnalysis;
+  AliFemtoAnalysis* fyAnalysis; //! link to the analysis
+  AliFemtoPairCut* fPairCut;    //! this is a PairSelection criteria for this Correlation Function
 
   private:
 
@@ -45,12 +48,13 @@ protected:
 inline void AliFemtoCorrFctn::AddRealPair(AliFemtoPair*) { cout << "Not implemented" << endl; }
 inline void AliFemtoCorrFctn::AddMixedPair(AliFemtoPair*) { cout << "Not implemented" << endl; }
 
-inline AliFemtoCorrFctn::AliFemtoCorrFctn(const AliFemtoCorrFctn& /* c */):fyAnalysis(0) {}
-inline AliFemtoCorrFctn::AliFemtoCorrFctn(): fyAnalysis(0) {/* no-op */}
+inline AliFemtoCorrFctn::AliFemtoCorrFctn(const AliFemtoCorrFctn& /* c */):fyAnalysis(0),fPairCut(0x0) {}
+inline AliFemtoCorrFctn::AliFemtoCorrFctn(): fyAnalysis(0),fPairCut(0x0) {/* no-op */}
 inline void AliFemtoCorrFctn::SetAnalysis(AliFemtoAnalysis* analysis) { fyAnalysis = analysis; }
-inline AliFemtoCorrFctn& AliFemtoCorrFctn::operator=(const AliFemtoCorrFctn& aCorrFctn) { if (this == &aCorrFctn) return *this; fyAnalysis = aCorrFctn.fyAnalysis; return *this; }
+inline AliFemtoCorrFctn& AliFemtoCorrFctn::operator=(const AliFemtoCorrFctn& aCorrFctn) { if (this == &aCorrFctn) return *this; fyAnalysis = aCorrFctn.fyAnalysis; fPairCut = aCorrFctn.fPairCut; return *this; }
 
 inline void AliFemtoCorrFctn::EventBegin(const AliFemtoEvent* /* aEvent */) { /* no-op */ }
 inline void AliFemtoCorrFctn::EventEnd(const AliFemtoEvent* /* aEvent */) { /* no-op */ }
+inline void AliFemtoCorrFctn::SetPairSelectionCut(AliFemtoPairCut* aCut) { fPairCut =  aCut; }
 
 #endif
index 25996fe..b5a713f 100644 (file)
@@ -271,6 +271,9 @@ AliFemtoCorrFctnDirectYlm::AliFemtoCorrFctnDirectYlm(const AliFemtoCorrFctnDirec
   fSout = aCorrFctn.fSout;
   fSside = aCorrFctn.fSside;
   fSlong = aCorrFctn.fSlong;
+
+  if (aCorrFctn.fPairCut)
+    fPairCut = aCorrFctn.fPairCut;
 }
 
 AliFemtoCorrFctnDirectYlm& AliFemtoCorrFctnDirectYlm::operator=(const AliFemtoCorrFctnDirectYlm& aCorrFctn)
@@ -371,6 +374,9 @@ AliFemtoCorrFctnDirectYlm& AliFemtoCorrFctnDirectYlm::operator=(const AliFemtoCo
   fSside = aCorrFctn.fSside;
   fSlong = aCorrFctn.fSlong;
 
+  if (aCorrFctn.fPairCut)
+    fPairCut = aCorrFctn.fPairCut;
+
   return *this;
 }
 
@@ -409,6 +415,8 @@ AliFemtoCorrFctnDirectYlm::~AliFemtoCorrFctnDirectYlm()
 
   if (fcovnum) delete fcovnum;
   if (fcovden) delete fcovden;
+
+  if (fPairCut) delete fPairCut;
 }
 
 double AliFemtoCorrFctnDirectYlm::ClebschGordan(double aJot1, double aEm1, double aJot2, double aEm2, double aJot, double aEm)
@@ -924,10 +932,16 @@ AliFemtoString AliFemtoCorrFctnDirectYlm::Report()
 
 void AliFemtoCorrFctnDirectYlm::AddRealPair(AliFemtoPair* aPair)
 {
+  if (fPairCut)
+    if (!fPairCut->Pass(aPair)) return;
+
   AddRealPair(aPair->QOutPf(), aPair->QSidePf(), aPair->QLongPf(), 1.0);
 }
 void AliFemtoCorrFctnDirectYlm::AddMixedPair(AliFemtoPair* aPair)
 {
+  if (fPairCut)
+    if (!fPairCut->Pass(aPair)) return;
+  
   AddMixedPair(aPair->QOutPf(), aPair->QSidePf(), aPair->QLongPf(), 1.0);
 }
 
index 6edfa0a..b1ae239 100644 (file)
@@ -18,6 +18,7 @@
 #include <TFile.h>
 #include "AliFemtoCorrFctn.h"
 #include "AliFemtoYlm.h"
+#include "AliFemtoPairCut.h"
 
 using namespace std;
 
index e9e61d2..43c7d76 100644 (file)
@@ -89,6 +89,9 @@ AliFemtoString AliFemtoModelCorrFctnDirectYlm::Report()
 void AliFemtoModelCorrFctnDirectYlm::AddRealPair(AliFemtoPair* aPair)
 {
   // add real (effect) pair
+  if (fPairCut)
+    if (!(fPairCut->Pass(aPair))) return;
+
   Double_t weight = fManager->GetWeight(aPair);
   
   fCYlmTrue->AddRealPair(aPair->QOutPf(), aPair->QSidePf(), aPair->QLongPf(), weight);
@@ -97,6 +100,9 @@ void AliFemtoModelCorrFctnDirectYlm::AddRealPair(AliFemtoPair* aPair)
 void AliFemtoModelCorrFctnDirectYlm::AddMixedPair(AliFemtoPair* aPair)
 {
   // add mixed (background) pair
+  if (fPairCut)
+    if (!(fPairCut->Pass(aPair))) return;
+
   Double_t weight = fManager->GetWeight(aPair);
 
   fCYlmTrue->AddMixedPair(aPair->QOutPf(), aPair->QSidePf(), aPair->QLongPf(), 1.0);