From 8ec9c365b71d73c542d380b05ccce7ebfbf9b274 Mon Sep 17 00:00:00 2001 From: panos Date: Tue, 6 Jun 2006 16:29:37 +0000 Subject: [PATCH 1/1] Adding AliRsnDaughterCut in the RESONANCES directory --- PWG2/RESONANCES/AliRsnDaughterCut.cxx | 67 ++++++++++++++++++++++++ PWG2/RESONANCES/AliRsnDaughterCut.h | 75 +++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 PWG2/RESONANCES/AliRsnDaughterCut.cxx create mode 100644 PWG2/RESONANCES/AliRsnDaughterCut.h diff --git a/PWG2/RESONANCES/AliRsnDaughterCut.cxx b/PWG2/RESONANCES/AliRsnDaughterCut.cxx new file mode 100644 index 00000000000..f79b3ab4db4 --- /dev/null +++ b/PWG2/RESONANCES/AliRsnDaughterCut.cxx @@ -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 + +#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 index 00000000000..a72bf527a94 --- /dev/null +++ b/PWG2/RESONANCES/AliRsnDaughterCut.h @@ -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 -- 2.39.3