]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Add PairPt Cut
authorakisiel <akisiel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 29 Jul 2011 08:22:24 +0000 (08:22 +0000)
committerakisiel <akisiel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 29 Jul 2011 08:22:24 +0000 (08:22 +0000)
PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoPairCutPt.cxx [new file with mode: 0644]
PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoPairCutPt.h [new file with mode: 0644]

diff --git a/PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoPairCutPt.cxx b/PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoPairCutPt.cxx
new file mode 100644 (file)
index 0000000..ca86470
--- /dev/null
@@ -0,0 +1,107 @@
+/////////////////////////////////////////////////////////////////////////////////////
+//                                                                                 //
+// AliFemtoPairCutPt - a pair cut which checks if the sum of the transverse        //
+// momenta of two particles fit within given range                                //
+// Authors: Malgorzata Janik, Warsaw University of Technology, majanik@cern.ch     //
+//          Lukasz Graczykowski, Warsaw University of Technology, lgraczyk@cern.ch //
+//                                                                                //
+/////////////////////////////////////////////////////////////////////////////////////
+
+#include "AliFemtoPairCutPt.h"
+#include <string>
+#include <cstdio>
+#include <TMath.h>
+
+#ifdef __ROOT__
+ClassImp(AliFemtoPairCutPt)
+#endif
+
+//__________________
+AliFemtoPairCutPt::AliFemtoPairCutPt():
+  AliFemtoPairCut(),
+  fSumPtMin(0),
+  fSumPtMax(10000)
+{
+
+}
+//__________________
+AliFemtoPairCutPt::AliFemtoPairCutPt(double lo, double hi):
+  AliFemtoPairCut(),
+  fSumPtMin(lo),
+  fSumPtMax(hi)
+{
+  fSumPtMin=lo;
+  fSumPtMax=hi;
+}
+//__________________
+AliFemtoPairCutPt::AliFemtoPairCutPt(const AliFemtoPairCutPt& c) : 
+  AliFemtoPairCut(c),
+  fSumPtMin(0),
+  fSumPtMax(0)
+{ 
+  fSumPtMin = c.fSumPtMin;
+  fSumPtMax = c.fSumPtMax;
+}
+
+//__________________
+AliFemtoPairCutPt::~AliFemtoPairCutPt(){
+  /* no-op */
+}
+//__________________
+bool AliFemtoPairCutPt::Pass(const AliFemtoPair* pair){
+
+  bool temp = true;
+
+  double pt1 = pair->Track1()->Track()->Pt();
+  double pt2 = pair->Track2()->Track()->Pt();
+
+  double pt_sum = pt1 + pt2;
+
+  if(pt_sum >= fSumPtMin && pt_sum <= fSumPtMax)
+    temp = true;
+  else
+    temp = false;
+
+  if(temp) 
+    fNPairsPassed++;
+  else fNPairsFailed++;
+
+
+  return temp;
+  
+}
+//__________________
+AliFemtoString AliFemtoPairCutPt::Report(){
+  // Prepare a report from the execution
+  string stemp = "AliFemtoPairCutPt Pair Cut\n";  
+  char ctemp[100];
+  stemp += ctemp;
+  sprintf(ctemp,"Number of pairs which passed:\t%ld  Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
+  stemp += ctemp;
+  AliFemtoString returnThis = stemp;
+  return returnThis;}
+//__________________
+
+TList *AliFemtoPairCutPt::ListSettings()
+{
+  // return a list of settings in a writable form
+  TList *tListSetttings = new TList();
+  char buf[200];
+  snprintf(buf, 200, "AliFemtoPairCutPt.sumptmin=%f", fSumPtMin);
+  snprintf(buf, 200, "AliFemtoPairCutPr.sumptmax=%f", fSumPtMax);
+  tListSetttings->AddLast(new TObjString(buf));
+
+  return tListSetttings;
+}
+
+void AliFemtoPairCutPt::SetMinSumPt(Double_t sumptmin)
+{
+  fSumPtMin = sumptmin;
+}
+
+void AliFemtoPairCutPt::SetMaxSumPt(Double_t sumptmax)
+{
+  fSumPtMax = sumptmax;
+}
+
diff --git a/PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoPairCutPt.h b/PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoPairCutPt.h
new file mode 100644 (file)
index 0000000..12c5649
--- /dev/null
@@ -0,0 +1,43 @@
+/////////////////////////////////////////////////////////////////////////////////////
+//                                                                                 //
+// AliFemtoPairCutPt - a pair cut which checks if the sum of the transverse        //
+// momenta of two particles fit within given range                                //
+// Authors: Malgorzata Janik, Warsaw University of Technology, majanik@cern.ch     //
+//          Lukasz Graczykowski, Warsaw University of Technology, lgraczyk@cern.ch //
+//                                                                                //
+/////////////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef ALIFEMTOPAIRCUTPT_H
+#define ALIFEMTOPAIRCUTPT_H
+
+#include "AliFemtoPairCut.h"
+
+class AliFemtoPairCutPt : public AliFemtoPairCut{
+public:
+  AliFemtoPairCutPt();
+  AliFemtoPairCutPt(double lo, double hi);
+  AliFemtoPairCutPt(const AliFemtoPairCutPt& c);
+  virtual ~AliFemtoPairCutPt();
+
+  virtual bool Pass(const AliFemtoPair* pair);
+  virtual AliFemtoString Report();
+  virtual TList *ListSettings();
+  AliFemtoPairCut* Clone();
+  void SetMinSumPt(Double_t sumptmin);
+  void SetMaxSumPt(Double_t sumptmax);
+  
+ protected:
+  Double_t fSumPtMin;
+  Double_t fSumPtMax;
+  Double_t fNPairsFailed;
+  Double_t fNPairsPassed;
+
+#ifdef __ROOT__
+  ClassDef(AliFemtoPairCutPt, 0)
+#endif
+};
+
+inline AliFemtoPairCut* AliFemtoPairCutPt::Clone() { AliFemtoPairCutPt* c = new AliFemtoPairCutPt(*this); return c;}
+
+#endif