--- /dev/null
+/////////////////////////////////////////////////////////////////////////////////////
+// //
+// 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;
+}
+
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////////////
+// //
+// 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