Adding AliRsnDaughterCut in the RESONANCES directory
authorpanos <panos@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Jun 2006 16:29:37 +0000 (16:29 +0000)
committerpanos <panos@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Jun 2006 16:29:37 +0000 (16:29 +0000)
PWG2/RESONANCES/AliRsnDaughterCut.cxx [new file with mode: 0644]
PWG2/RESONANCES/AliRsnDaughterCut.h [new file with mode: 0644]

diff --git a/PWG2/RESONANCES/AliRsnDaughterCut.cxx b/PWG2/RESONANCES/AliRsnDaughterCut.cxx
new file mode 100644 (file)
index 0000000..f79b3ab
--- /dev/null
@@ -0,0 +1,67 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+//-------------------------------------------------------------------------
+//                      Class AliRsnDaughterCut
+//  
+//           Implementation of track cuts for analysis.
+// 
+// author: A. Pulvirenti             (email: alberto.pulvirenti@ct.infn.it)
+//-------------------------------------------------------------------------
+
+#include <Riostream.h>
+
+#include "AliRsnDaughter.h"
+#include "AliRsnDaughterCut.h"
+
+ClassImp(AliRsnDaughterCut)
+
+//--------------------------------------------------------------------------------------------------------
+Bool_t AliRsnDaughterCut::Pass(AliRsnDaughter* /*track1*/, AliRsnDaughter* /*track2*/)
+// 
+// Virtual method for cut passing.
+// This function must be overridden and return kTRUE when cut is passed.
+//
+{ 
+       TObject::Error("Pass", "This method must be overridden!");
+       return kFALSE;
+}
+//--------------------------------------------------------------------------------------------------------
+Bool_t AliRsnDaughterCutPtSingle::Pass(AliRsnDaughter *track1, AliRsnDaughter* /*track2*/)
+// 
+// Cut on single track momentum.
+//
+{ 
+       if (!track1) return kFALSE;
+       if (track1->GetPt() < fPtMin) return kFALSE;
+       if (track1->GetPt() > fPtMax) return kFALSE;
+       
+       return kTRUE;
+}
+//--------------------------------------------------------------------------------------------------------
+Bool_t AliRsnDaughterCutPtPair::Pass(AliRsnDaughter *track1, AliRsnDaughter *track2)
+// 
+// Cut on single track momentum.
+//
+{ 
+       if (!track1 || !track2) return kFALSE;
+       
+       AliRsnDaughter sum = (*track1) + (*track2);
+       
+       if (sum.GetPt() < fPtMin) return kFALSE;
+       if (sum.GetPt() > fPtMax) return kFALSE;
+       
+       return kTRUE;
+}
diff --git a/PWG2/RESONANCES/AliRsnDaughterCut.h b/PWG2/RESONANCES/AliRsnDaughterCut.h
new file mode 100644 (file)
index 0000000..a72bf52
--- /dev/null
@@ -0,0 +1,75 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               *
+ **************************************************************************/
+
+//-------------------------------------------------------------------------
+//                      Class AliRsnDaughterCut
+//  
+//           Implementation of various cut which can be applied
+//           during resonance analysis. 
+//           First is the virtual base class.
+// 
+// author: A. Pulvirenti             (email: alberto.pulvirenti@ct.infn.it)
+//-------------------------------------------------------------------------
+
+#ifndef ALIRSNDAUGHTERCUT_H
+#define ALIRSNDAUGHTERCUT_H
+
+class AliRsnDaughter;
+
+class AliRsnDaughterCut : public TObject
+{
+public:
+                              AliRsnDaughterCut() {  }
+       virtual       ~AliRsnDaughterCut() {  }
+       
+               Bool_t IsPairCut() {return fPairCut;}
+       virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2 = 0);
+       
+protected:
+
+       Bool_t  fPairCut;
+       
+       ClassDef(AliRsnDaughterCut,1)
+};
+
+//-------------------------------------------------------------------------
+
+class AliRsnDaughterCutPtSingle : public AliRsnDaughterCut
+{
+public:
+                              AliRsnDaughterCutPtSingle(Double_t min, Double_t max) {fPairCut=kFALSE;fPtMin=min;fPtMax=max;}
+       virtual       ~AliRsnDaughterCutPtSingle()                           { }
+       
+       virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2 = 0);
+
+protected:
+
+       Double_t fPtMin; // smallest allowed Pt
+       Double_t fPtMax; // largest allowed Pt
+       
+       ClassDef(AliRsnDaughterCutPtSingle,1)
+};
+       
+//-------------------------------------------------------------------------
+
+class AliRsnDaughterCutPtPair : public AliRsnDaughterCut
+{
+public:
+                              AliRsnDaughterCutPtPair(Double_t min, Double_t max) {fPairCut=kTRUE;fPtMin=min;fPtMax=max;}
+       virtual       ~AliRsnDaughterCutPtPair()                           { }
+       
+       virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2);
+
+protected:
+
+       Double_t fPtMin; // smallest allowed Pt
+       Double_t fPtMax; // largest allowed Pt
+       
+       ClassDef(AliRsnDaughterCutPtPair,1)
+};
+
+//-------------------------------------------------------------------------
+
+#endif