+/* $Id$ */
+
+//-------------------------------------------------------------------
+// Class AliHBTPairCut:
+// implements cut on the pair of particles
+// more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
+// Author: Piotr.Skowronski@cern.ch
+//-------------------------------------------------------------------
+
#include "AliHBTPairCut.h"
#include "AliHBTPair.h"
+#include "AliHBTParticleCut.h"
ClassImp(AliHBTPairCut)
-const Int_t AliHBTPairCut::fkgMaxCuts = 50;
+const Int_t AliHBTPairCut::fgkMaxCuts = 50;
/**********************************************************/
AliHBTPairCut::AliHBTPairCut():
fNCuts(0)
{
-//constructor
+ //constructor
fFirstPartCut = new AliHBTEmptyParticleCut(); //empty cuts
fSecondPartCut= new AliHBTEmptyParticleCut(); //empty cuts
- fCuts = new AliHbtBasePairCut*[fkgMaxCuts];
+ fCuts = new AliHbtBasePairCut*[fgkMaxCuts];
}
/**********************************************************/
AliHBTPairCut::AliHBTPairCut(const AliHBTPairCut& in)
{
-//copy constructor
- fCuts = new AliHbtBasePairCut*[fkgMaxCuts];
- fNCuts = in.fNCuts;
+ //copy constructor
+ fCuts = new AliHbtBasePairCut*[fgkMaxCuts];
+ fNCuts = in.fNCuts;
+
+ fFirstPartCut = (AliHBTParticleCut*)in.fFirstPartCut->Clone();
+ fSecondPartCut = (AliHBTParticleCut*)in.fSecondPartCut->Clone();
+
+ for (Int_t i = 0;i<fNCuts;i++)
+ {
+ fCuts[i] = (AliHbtBasePairCut*)in.fCuts[i]->Clone();//create new object (clone) and rember pointer to it
+ }
+}
+/**********************************************************/
+
+AliHBTPairCut& AliHBTPairCut::operator=(const AliHBTPairCut& in)
+{
+ //assignment operator
+ fCuts = new AliHbtBasePairCut*[fgkMaxCuts];
+ fNCuts = in.fNCuts;
- fFirstPartCut = (AliHBTParticleCut*)in.fFirstPartCut->Clone();
- fSecondPartCut = (AliHBTParticleCut*)in.fSecondPartCut->Clone();
+ fFirstPartCut = (AliHBTParticleCut*)in.fFirstPartCut->Clone();
+ fSecondPartCut = (AliHBTParticleCut*)in.fSecondPartCut->Clone();
- for (Int_t i = 0;i<fNCuts;i++)
- {
- fCuts[i] = (AliHbtBasePairCut*)in.fCuts[i]->Clone();//create new object (clone) and rember pointer to it
- }
+ for (Int_t i = 0;i<fNCuts;i++)
+ {
+ fCuts[i] = (AliHbtBasePairCut*)in.fCuts[i]->Clone();//create new object (clone) and rember pointer to it
+ }
+ return * this;
}
/**********************************************************/
AliHBTPairCut::~AliHBTPairCut()
{
-//destructor
+ //destructor
if (fFirstPartCut != fSecondPartCut)
- {
- delete fSecondPartCut;
- }
+ {
+ delete fSecondPartCut;
+ }
delete fFirstPartCut;
for (Int_t i = 0;i<fNCuts;i++)
- {
- delete fCuts[i];
- }
+ {
+ delete fCuts[i];
+ }
delete []fCuts;
}
/**********************************************************/
/**********************************************************/
void AliHBTPairCut::AddBasePairCut(AliHbtBasePairCut* basecut)
- {
- //adds the base pair cut (cut on one value)
-
- if (!basecut) return;
- if( fNCuts == (fkgMaxCuts-1) )
+{
+ //adds the base pair cut (cut on one value)
+
+ if (!basecut) return;
+ if( fNCuts == (fgkMaxCuts-1) )
{
Warning("AddBasePairCut","Not enough place for another cut");
return;
}
- fCuts[fNCuts++]=basecut;
- }
+ fCuts[fNCuts++]=basecut;
+}
/**********************************************************/
-Bool_t AliHBTPairCut::Pass(AliHBTPair* pair)
+Bool_t AliHBTPairCut::Pass(AliHBTPair* pair) const
{
-//methods which checks if given pair meets all criteria of the cut
-//if it meets returns FALSE
-//if NOT returns TRUE
- if(!pair)
- {
- Warning("Pass","No Pasaran! We never accept NULL pointers");
- return kTRUE;
- }
-
- //check particle's cuts
- if( ( fFirstPartCut->Pass( pair->Particle1()) ) ||
- ( fSecondPartCut->Pass(pair->Particle2()) ) )
- {
- return kTRUE;
- }
- return PassPairProp(pair);
+ //methods which checks if given pair meets all criteria of the cut
+ //if it meets returns FALSE
+ //if NOT returns TRUE
+ if(!pair)
+ {
+ Warning("Pass","No Pasaran! We never accept NULL pointers");
+ return kTRUE;
+ }
+
+ //check particle's cuts
+ if( ( fFirstPartCut->Pass( pair->Particle1()) ) ||
+ ( fSecondPartCut->Pass(pair->Particle2()) ) )
+ {
+ return kTRUE;
+ }
+ return PassPairProp(pair);
}
/**********************************************************/
-Bool_t AliHBTPairCut::PassPairProp(AliHBTPair* pair)
+Bool_t AliHBTPairCut::PassPairProp(AliHBTPair* pair) const
{
-//methods which checks if given pair meets all criteria of the cut
-//if it meets returns FALSE
-//if NOT returns TRUE
- //examine all base pair cuts
- for (Int_t i = 0;i<fNCuts;i++)
- {
- if ( (fCuts[i]->Pass(pair)) ) return kTRUE; //if one of the cuts reject, then reject
- }
- return kFALSE;
+ //methods which checks if given pair meets all criteria of the cut
+ //if it meets returns FALSE
+ //if NOT returns TRUE
+ //examine all base pair cuts
+ for (Int_t i = 0;i<fNCuts;i++)
+ {
+ if ( (fCuts[i]->Pass(pair)) ) return kTRUE; //if one of the cuts reject, then reject
+ }
+ return kFALSE;
}
/**********************************************************/
void AliHBTPairCut::SetFirstPartCut(AliHBTParticleCut* cut)
{
- if(!cut)
- {
- Error("SetFirstPartCut","argument is NULL");
- return;
- }
- delete fFirstPartCut;
- fFirstPartCut = (AliHBTParticleCut*)cut->Clone();
-
+ // set cut for the first particle
+ if(!cut)
+ {
+ Error("SetFirstPartCut","argument is NULL");
+ return;
+ }
+ delete fFirstPartCut;
+ fFirstPartCut = (AliHBTParticleCut*)cut->Clone();
+
}
/**********************************************************/
void AliHBTPairCut::SetSecondPartCut(AliHBTParticleCut* cut)
{
- if(!cut)
- {
- Error("SetSecondPartCut","argument is NULL");
- return;
- }
- delete fSecondPartCut;
- fSecondPartCut = (AliHBTParticleCut*)cut->Clone();
+ // set cut for the second particle
+ if(!cut)
+ {
+ Error("SetSecondPartCut","argument is NULL");
+ return;
+ }
+ delete fSecondPartCut;
+ fSecondPartCut = (AliHBTParticleCut*)cut->Clone();
}
/**********************************************************/
void AliHBTPairCut::SetPartCut(AliHBTParticleCut* cut)
{
-//sets the the same cut on both particles
- if(!cut)
- {
- Error("SetFirstPartCut","argument is NULL");
- return;
- }
- delete fFirstPartCut;
- fFirstPartCut = (AliHBTParticleCut*)cut->Clone();
-
- delete fSecondPartCut; //even if null should not be harmful
- fSecondPartCut = fFirstPartCut;
+ //sets the the same cut on both particles
+ if(!cut)
+ {
+ Error("SetFirstPartCut","argument is NULL");
+ return;
+ }
+ delete fFirstPartCut;
+ fFirstPartCut = (AliHBTParticleCut*)cut->Clone();
+
+ delete fSecondPartCut; //even if null should not be harmful
+ fSecondPartCut = fFirstPartCut;
}
/**********************************************************/
void AliHBTPairCut::SetQInvRange(Double_t min, Double_t max)
{
+ // set range of accepted invariant masses
AliHBTQInvCut* cut= (AliHBTQInvCut*)FindCut(kHbtPairCutPropQInv);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliHBTQInvCut(min,max);
/**********************************************************/
void AliHBTPairCut::SetQOutCMSLRange(Double_t min, Double_t max)
{
+ // set range of accepted QOut in CMS
AliHBTQOutCMSLCCut* cut= (AliHBTQOutCMSLCCut*)FindCut(kHbtPairCutPropQOutCMSLC);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliHBTQOutCMSLCCut(min,max);
/**********************************************************/
void AliHBTPairCut::SetQSideCMSLRange(Double_t min, Double_t max)
{
+ // set range of accepted QSide in CMS
AliHBTQSideCMSLCCut* cut= (AliHBTQSideCMSLCCut*)FindCut(kHbtPairCutPropQSideCMSLC);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliHBTQSideCMSLCCut(min,max);
/**********************************************************/
void AliHBTPairCut::SetQLongCMSLRange(Double_t min, Double_t max)
{
+ // set range of accepted QLong in CMS
AliHBTQLongCMSLCCut* cut= (AliHBTQLongCMSLCCut*)FindCut(kHbtPairCutPropQLongCMSLC);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliHBTQLongCMSLCCut(min,max);
void AliHBTPairCut::SetKtRange(Double_t min, Double_t max)
{
+ // set range of accepted Kt (?)
AliHBTKtCut* cut= (AliHBTKtCut*)FindCut(kHbtPairCutPropKt);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliHBTKtCut(min,max);
void AliHBTPairCut::SetKStarRange(Double_t min, Double_t max)
{
+ // set range of accepted KStar (?)
AliHBTKStarCut* cut= (AliHBTKStarCut*)FindCut(kHbtPairCutPropKStar);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliHBTKStarCut(min,max);
AliHbtBasePairCut* AliHBTPairCut::FindCut(AliHBTPairCutProperty property)
{
- for (Int_t i = 0;i<fNCuts;i++)
- {
- if (fCuts[i]->GetProperty() == property)
- return fCuts[i]; //we found the cut we were searching for
- }
-
- return 0x0; //we did not found this cut
+ // Find the cut corresponding to "property"
+ for (Int_t i = 0;i<fNCuts;i++)
+ {
+ if (fCuts[i]->GetProperty() == property)
+ return fCuts[i]; //we found the cut we were searching for
+ }
+
+ return 0x0; //we did not found this cut
}
/**********************************************************/
void AliHBTPairCut::Streamer(TBuffer &b)
{
// Stream all objects in the array to or from the I/O buffer.
-
- UInt_t R__s, R__c;
- if (b.IsReading())
+
+ UInt_t R__s, R__c;
+ if (b.IsReading())
{
Version_t v = b.ReadVersion(&R__s, &R__c);
if (v > -1)
- {
- delete fFirstPartCut;
- delete fSecondPartCut;
- fFirstPartCut = 0x0;
- fSecondPartCut = 0x0;
- TObject::Streamer(b);
- b >> fFirstPartCut;
- b >> fSecondPartCut;
- b >> fNCuts;
- for (Int_t i = 0;i<fNCuts;i++)
- {
- b >> fCuts[i];
- }
+ {
+ delete fFirstPartCut;
+ delete fSecondPartCut;
+ fFirstPartCut = 0x0;
+ fSecondPartCut = 0x0;
+ TObject::Streamer(b);
+ b >> fFirstPartCut;
+ b >> fSecondPartCut;
+ b >> fNCuts;
+ for (Int_t i = 0;i<fNCuts;i++)
+ {
+ b >> fCuts[i];
+ }
}
- b.CheckByteCount(R__s, R__c,AliHBTPairCut::IsA());
-
+ b.CheckByteCount(R__s, R__c,AliHBTPairCut::IsA());
+
}
- else
+ else
{
- R__c = b.WriteVersion(AliHBTPairCut::IsA(), kTRUE);
- TObject::Streamer(b);
- b << fFirstPartCut;
- b << fSecondPartCut;
- b << fNCuts;
- for (Int_t i = 0;i<fNCuts;i++)
- {
- b << fCuts[i];
- }
- b.SetByteCount(R__c, kTRUE);
- }
+ R__c = b.WriteVersion(AliHBTPairCut::IsA(), kTRUE);
+ TObject::Streamer(b);
+ b << fFirstPartCut;
+ b << fSecondPartCut;
+ b << fNCuts;
+ for (Int_t i = 0;i<fNCuts;i++)
+ {
+ b << fCuts[i];
+ }
+ b.SetByteCount(R__c, kTRUE);
+ }
}
ClassImp(AliHBTEmptyPairCut)
-
+
void AliHBTEmptyPairCut::Streamer(TBuffer &b)
- {
- AliHBTPairCut::Streamer(b);
- }
+{
+ AliHBTPairCut::Streamer(b);
+}
ClassImp(AliHbtBasePairCut)
-
+
ClassImp(AliHBTQInvCut)
-
+
ClassImp(AliHBTKtCut)
-
+
ClassImp(AliHBTQSideCMSLCCut)
ClassImp(AliHBTQOutCMSLCCut)
ClassImp(AliHBTQLongCMSLCCut)
-//Piotr Skowronski@cern.ch
-//Class implemnts cut on the pair of particles
-//
-//more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
-
#ifndef ALIHBTPAIRCUT_H
#define ALIHBTPAIRCUT_H
+/* $Id$ */
-#include "AliHBTParticleCut.h"
+//Piotr Skowronski@cern.ch
+//Class implements cut on the pair of particles
+//
+//more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
+
#include "AliHBTPair.h"
+class AliHBTParticleCut;
class AliHbtBasePairCut;
enum AliHBTPairCutProperty
- {
+{
kHbtPairCutPropQInv, //Q invariant
kHbtPairCutPropKt,
kHbtPairCutPropKStar,
kHbtPairCutPropQOutCMSLC,
kHbtPairCutPropQLongCMSLC,
kHbtPairCutPropNone
- };
+};
class AliHBTPairCut: public TNamed
{
- public:
- AliHBTPairCut();
- AliHBTPairCut(const AliHBTPairCut&);
-
- virtual ~AliHBTPairCut();
- virtual Bool_t Pass(AliHBTPair* pair);
- virtual Bool_t PassPairProp(AliHBTPair* pair);
+ public:
+ AliHBTPairCut();
+ AliHBTPairCut(const AliHBTPairCut& in);
+ AliHBTPairCut& operator = (const AliHBTPairCut& in);
+
+ virtual ~AliHBTPairCut();
+ virtual Bool_t Pass(AliHBTPair* pair) const;
+ virtual Bool_t PassPairProp(AliHBTPair* pair) const;
- virtual Bool_t IsEmpty() {return kFALSE;}
- void SetFirstPartCut(AliHBTParticleCut*); //sets the cut on the first particle
- void SetSecondPartCut(AliHBTParticleCut*); //sets the cut on the first particle
+ virtual Bool_t IsEmpty() const {return kFALSE;}
+ void SetFirstPartCut(AliHBTParticleCut* cut); //sets the cut on the first particle
+ void SetSecondPartCut(AliHBTParticleCut* cut); //sets the cut on the second particle
+
+ void SetPartCut(AliHBTParticleCut* cut);//sets the the same cut on both particles
+
+ void AddBasePairCut(AliHbtBasePairCut* cut);
+
+ void SetQInvRange(Double_t min, Double_t max);
+ void SetKtRange(Double_t min, Double_t max);
+ void SetKStarRange(Double_t min, Double_t max);
+ void SetQOutCMSLRange(Double_t min, Double_t max);
+ void SetQSideCMSLRange(Double_t min, Double_t max);
+ void SetQLongCMSLRange(Double_t min, Double_t max);
+
+ AliHBTParticleCut* GetFirstPartCut() const {return fFirstPartCut;}
+ AliHBTParticleCut* GetSecondPartCut() const {return fSecondPartCut;}
+
+ protected:
+ AliHBTParticleCut* fFirstPartCut;//cut on first particle in pair
+ AliHBTParticleCut* fSecondPartCut;//cut on second particle in pair
+
+ AliHbtBasePairCut** fCuts; //! array of poiters to base cuts
+ Int_t fNCuts;//Number of cuts in fCuts array
+
+
+ AliHbtBasePairCut* FindCut(AliHBTPairCutProperty cut);
+ private:
+ static const Int_t fgkMaxCuts; // Max number of cuts
+
+ ClassDef(AliHBTPairCut,2)
- void SetPartCut(AliHBTParticleCut*);//sets the the same cut on both particles
-
- void AddBasePairCut(AliHbtBasePairCut*);
-
- void SetQInvRange(Double_t min, Double_t max);
- void SetKtRange(Double_t min, Double_t max);
- void SetKStarRange(Double_t min, Double_t max);
- void SetQOutCMSLRange(Double_t min, Double_t max);
- void SetQSideCMSLRange(Double_t min, Double_t max);
- void SetQLongCMSLRange(Double_t min, Double_t max);
-
- AliHBTParticleCut* GetFirstPartCut() const {return fFirstPartCut;}
- AliHBTParticleCut* GetSecondPartCut() const {return fSecondPartCut;}
-
- protected:
- AliHBTParticleCut* fFirstPartCut;//cut on first particle in pair
- AliHBTParticleCut* fSecondPartCut;//cut on second particle in pair
-
- AliHbtBasePairCut** fCuts; //! array of poiters to base cuts
- Int_t fNCuts;//Number of cuts in fCuts array
-
-
- AliHbtBasePairCut* FindCut(AliHBTPairCutProperty);
- private:
- static const Int_t fkgMaxCuts;
- public:
- ClassDef(AliHBTPairCut,2)
-
};
/******************************************************************/
/******************************************************************/
class AliHBTEmptyPairCut: public AliHBTPairCut
{
-//Empty - it passes possitively all particles - it means returns always False
-//Class describing cut on pairs of particles
- public:
- AliHBTEmptyPairCut(){};
- AliHBTEmptyPairCut(const AliHBTEmptyPairCut&){};
- virtual ~AliHBTEmptyPairCut(){};
+ //Empty - it passes possitively all particles - it means returns always False
+ //Class describing cut on pairs of particles
+ public:
+ AliHBTEmptyPairCut(){};
+ AliHBTEmptyPairCut(const AliHBTEmptyPairCut& in){};
+ virtual ~AliHBTEmptyPairCut(){};
+
+ Bool_t Pass(AliHBTPair*) const {return kFALSE;} //accpept everything
+ Bool_t IsEmpty() const {return kTRUE;}
+
+ ClassDef(AliHBTEmptyPairCut,1)
- Bool_t Pass(AliHBTPair*) {return kFALSE;} //accpept everything
- Bool_t IsEmpty() {return kTRUE;}
-
- ClassDef(AliHBTEmptyPairCut,1)
-
};
/******************************************************************/
class AliHbtBasePairCut: public TObject
- {
- //This class defines the range of some property - pure virtual
- //Property is coded by AliHBTCutTypes type
+{
+ //This class defines the range of some property - pure virtual
+ //Property is coded by AliHBTCutTypes type
- public:
-
- AliHbtBasePairCut(Double_t min = 0.0, Double_t max = 0.0, AliHBTPairCutProperty prop= kHbtPairCutPropNone):
- fMin(min),fMax(max),fProperty(prop){}
-
- virtual ~AliHbtBasePairCut(){}
-
- Bool_t Pass(AliHBTPair*);
+ public:
- void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;}
-
- void SetMinimum(Double_t min){fMin = min;}
- void SetMaximum(Double_t max){fMax = max;}
+ AliHbtBasePairCut(Double_t min = 0.0, Double_t max = 0.0, AliHBTPairCutProperty prop= kHbtPairCutPropNone):
+ fMin(min),fMax(max),fProperty(prop){}
+
+ virtual ~AliHbtBasePairCut(){}
- Double_t GetMinimum() const {return fMin;}
- Double_t GetMaximum() const {return fMax;}
-
- AliHBTPairCutProperty GetProperty() const {return fProperty;}
-
- protected:
- virtual Double_t GetValue(AliHBTPair*) = 0;
-
- Double_t fMin;
- Double_t fMax;
-
- AliHBTPairCutProperty fProperty;
-
- private:
- public:
- ClassDef(AliHbtBasePairCut,1)
-
+ Bool_t Pass(AliHBTPair* pair) const;
+
+ void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;}
+
+ void SetMinimum(Double_t min){fMin = min;}
+ void SetMaximum(Double_t max){fMax = max;}
+
+ Double_t GetMinimum() const {return fMin;}
+ Double_t GetMaximum() const {return fMax;}
+
+ AliHBTPairCutProperty GetProperty() const {return fProperty;}
+
+ protected:
+ virtual Double_t GetValue(AliHBTPair* pair) const = 0;
+
+ Double_t fMin; // Lower boundary of the range
+ Double_t fMax; // Upper boundary of the range
+
+ AliHBTPairCutProperty fProperty; // The property itself
+
+ ClassDef(AliHbtBasePairCut,1)
+
};
-inline Bool_t
-AliHbtBasePairCut::Pass(AliHBTPair* pair)
- {
- Double_t value = GetValue(pair);
- if ( (value > fMin) && (value <fMax ) ) return kFALSE; //accepted
- else return kTRUE; //rejected
- }
+inline Bool_t AliHbtBasePairCut::Pass(AliHBTPair* pair) const
+{
+ Double_t value = GetValue(pair);
+ if ( (value > fMin) && (value <fMax ) ) return kFALSE; //accepted
+ else return kTRUE; //rejected
+}
/******************************************************************/
/******************************************************************/
/******************************************************************/
class AliHBTQInvCut: public AliHbtBasePairCut
- {
- public:
- AliHBTQInvCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBasePairCut(min,max,kHbtPairCutPropQInv){}
- virtual ~AliHBTQInvCut(){}
- protected:
- virtual Double_t GetValue(AliHBTPair* pair){return pair->GetQInv();}
- private:
- public:
- ClassDef(AliHBTQInvCut,1)
+{
+ public:
+ AliHBTQInvCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBasePairCut(min,max,kHbtPairCutPropQInv){}
+ virtual ~AliHBTQInvCut(){}
+ protected:
+ virtual Double_t GetValue(AliHBTPair* pair) const {return pair->GetQInv();}
+
+ ClassDef(AliHBTQInvCut,1)
};
-class AliHBTKtCut: public AliHbtBasePairCut
- {
- public:
- AliHBTKtCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBasePairCut(min,max,kHbtPairCutPropKt){}
- virtual ~AliHBTKtCut(){}
- protected:
- virtual Double_t GetValue(AliHBTPair* pair){return pair->GetKt();}
- private:
- public:
- ClassDef(AliHBTKtCut,1)
+class AliHBTKtCut: public AliHbtBasePairCut {
+ public:
+ AliHBTKtCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBasePairCut(min,max,kHbtPairCutPropKt){}
+ virtual ~AliHBTKtCut(){}
+ protected:
+ virtual Double_t GetValue(AliHBTPair* pair) const {return pair->GetKt();}
+
+ ClassDef(AliHBTKtCut,1)
};
class AliHBTKStarCut: public AliHbtBasePairCut
- {
- public:
- AliHBTKStarCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBasePairCut(min,max,kHbtPairCutPropKStar){}
- virtual ~AliHBTKStarCut(){}
- protected:
- virtual Double_t GetValue(AliHBTPair* pair){return pair->GetKStar();}
- private:
- public:
- ClassDef(AliHBTKStarCut,1)
- };
+{
+ public:
+ AliHBTKStarCut(Double_t min = 0.0, Double_t max = 0.0):AliHbtBasePairCut(min,max,kHbtPairCutPropKStar){}
+ virtual ~AliHBTKStarCut(){}
+ protected:
+ virtual Double_t GetValue(AliHBTPair* pair) const {return pair->GetKStar();}
+
+ ClassDef(AliHBTKStarCut,1)
+};
class AliHBTQSideCMSLCCut: public AliHbtBasePairCut
- {
- public:
- AliHBTQSideCMSLCCut(Double_t min = 0.0, Double_t max = 0.0):
- AliHbtBasePairCut(min,max,kHbtPairCutPropQSideCMSLC){}
- virtual ~AliHBTQSideCMSLCCut(){}
- protected:
- virtual Double_t GetValue(AliHBTPair* pair){return pair->GetQSideCMSLC();}
- private:
- public:
- ClassDef(AliHBTQSideCMSLCCut,1)
- };
+{
+ public:
+ AliHBTQSideCMSLCCut(Double_t min = 0.0, Double_t max = 0.0):
+ AliHbtBasePairCut(min,max,kHbtPairCutPropQSideCMSLC){}
+ virtual ~AliHBTQSideCMSLCCut(){}
+ protected:
+ virtual Double_t GetValue(AliHBTPair* pair) const
+ {return pair->GetQSideCMSLC();}
+
+ ClassDef(AliHBTQSideCMSLCCut,1)
+};
class AliHBTQOutCMSLCCut: public AliHbtBasePairCut
- {
- public:
- AliHBTQOutCMSLCCut(Double_t min = 0.0, Double_t max = 0.0):
- AliHbtBasePairCut(min,max,kHbtPairCutPropQOutCMSLC){}
- virtual ~AliHBTQOutCMSLCCut(){}
- protected:
- virtual Double_t GetValue(AliHBTPair* pair){return pair->GetQOutCMSLC();}
- private:
- public:
- ClassDef(AliHBTQOutCMSLCCut,1)
- };
+{
+ public:
+ AliHBTQOutCMSLCCut(Double_t min = 0.0, Double_t max = 0.0):
+ AliHbtBasePairCut(min,max,kHbtPairCutPropQOutCMSLC){}
+ virtual ~AliHBTQOutCMSLCCut(){}
+ protected:
+ virtual Double_t GetValue(AliHBTPair* pair) const
+ {return pair->GetQOutCMSLC();}
+
+ ClassDef(AliHBTQOutCMSLCCut,1)
+};
class AliHBTQLongCMSLCCut: public AliHbtBasePairCut
- {
- public:
- AliHBTQLongCMSLCCut(Double_t min = 0.0, Double_t max = 0.0):
- AliHbtBasePairCut(min,max,kHbtPairCutPropQLongCMSLC){}
- virtual ~AliHBTQLongCMSLCCut(){}
- protected:
- virtual Double_t GetValue(AliHBTPair* pair){return pair->GetQLongCMSLC();}
- private:
- public:
- ClassDef(AliHBTQLongCMSLCCut,1)
- };
+{
+ public:
+ AliHBTQLongCMSLCCut(Double_t min = 0.0, Double_t max = 0.0):
+ AliHbtBasePairCut(min,max,kHbtPairCutPropQLongCMSLC){}
+ virtual ~AliHBTQLongCMSLCCut(){}
+ protected:
+ virtual Double_t GetValue(AliHBTPair* pair) const
+ {return pair->GetQLongCMSLC();}
+
+ ClassDef(AliHBTQLongCMSLCCut,1)
+};
#endif