#include "AliAODPairCut.h"
/* $Id$ */
-//____________________________________
+
/////////////////////////////////////////////////////////////////////////
//
// Class AliAODPairCut:
-//
// implements cut on the pair of particles
-// more info: http://alisoft.cern.ch/people/skowron/analyzer/index.html
+// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html
// Author: Piotr.Skowronski@cern.ch
//-------------------------------------------------------------------
+
#include "AliAODPair.h"
#include "AliAODParticleCut.h"
-#include "AliTrackPoints.h"
-#include "AliClusterMap.h"
+//#include "AliTrackPoints.h"
+//#include "AliClusterMap.h"
ClassImp(AliAODPairCut)
const Int_t AliAODPairCut::fgkMaxCuts = 50;
/**********************************************************/
AliAODPairCut::AliAODPairCut():
+ fFirstPartCut(new AliAODParticleEmptyCut()), //empty cuts
+ fSecondPartCut(new AliAODParticleEmptyCut()), //empty cuts
+ fCuts(new AliAODPairBaseCut*[fgkMaxCuts]),
fNCuts(0)
{
//constructor
- fFirstPartCut = new AliAODParticleEmptyCut(); //empty cuts
- fSecondPartCut= new AliAODParticleEmptyCut(); //empty cuts
- fCuts = new AliAODPairBaseCut*[fgkMaxCuts];
for (Int_t i = 0;i<fNCuts;i++)
{
fCuts[i] = 0x0;
/**********************************************************/
AliAODPairCut::AliAODPairCut(const AliAODPairCut& in):
- TNamed(in)
+ TNamed(in),
+ fFirstPartCut((AliAODParticleCut*)in.fFirstPartCut->Clone()),
+ fSecondPartCut((AliAODParticleCut*)in.fSecondPartCut->Clone()),
+ fCuts(new AliAODPairBaseCut*[fgkMaxCuts]),
+ fNCuts(in.fNCuts)
{
//copy constructor
- fCuts = new AliAODPairBaseCut*[fgkMaxCuts];
- fNCuts = in.fNCuts;
- fFirstPartCut = (AliAODParticleCut*)in.fFirstPartCut->Clone();
- fSecondPartCut = (AliAODParticleCut*)in.fSecondPartCut->Clone();
for (Int_t i = 0;i<fNCuts;i++)
{
else fCuts[fNCuts++] = new AliAODQInvCut(min,max);
}
/**********************************************************/
-void AliAODPairCut::SetQOutCMSLRange(Double_t min, Double_t max)
+
+void AliAODPairCut::SetQOutLCMSRange(Double_t min, Double_t max)
{
// set range of accepted QOut in CMS
AliAODQOutLCMSCut* cut= (AliAODQOutLCMSCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropQOutLCMS);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliAODQOutLCMSCut(min,max);
}
-
/**********************************************************/
-void AliAODPairCut::SetQSideCMSLRange(Double_t min, Double_t max)
+
+void AliAODPairCut::SetQSideLCMSRange(Double_t min, Double_t max)
{
// set range of accepted QSide in CMS
AliAODQSideLCMSCut* cut= (AliAODQSideLCMSCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropQSideLCMS);
}
/**********************************************************/
-void AliAODPairCut::SetQLongCMSLRange(Double_t min, Double_t max)
+
+void AliAODPairCut::SetQLongLCMSRange(Double_t min, Double_t max)
{
// set range of accepted QLong in CMS
AliAODQLongLCMSCut* cut= (AliAODQLongLCMSCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropQLongLCMS);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliAODQLongLCMSCut(min,max);
}
+/**********************************************************/
+
+void AliAODPairCut::SetDeltaERange(Double_t min, Double_t max)
+{
+ // set range of accepted DeltaE
+ AliAODKtCut* cut= (AliAODKtCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropDeltaE);
+ if(cut) cut->SetRange(min,max);
+ else fCuts[fNCuts++] = new AliAODDeltaECut(min,max);
+}
+/**********************************************************/
+void AliAODPairCut::SetDeltaPRange(Double_t min, Double_t max)
+{
+ // set range of accepted DeltaP
+ AliAODKtCut* cut= (AliAODKtCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropDeltaP);
+ if(cut) cut->SetRange(min,max);
+ else fCuts[fNCuts++] = new AliAODDeltaPCut(min,max);
+}
/**********************************************************/
void AliAODPairCut::SetKtRange(Double_t min, Double_t max)
{
- // set range of accepted Kt (?)
+ // set range of accepted Kt (avarage transverse pair momentum)
AliAODKtCut* cut= (AliAODKtCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKt);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliAODKtCut(min,max);
void AliAODPairCut::SetKStarRange(Double_t min, Double_t max)
{
- // set range of accepted KStar (?)
+ // set range of accepted KStar (invariant pair momentum difference (fourvector))
AliAODKStarCut* cut= (AliAODKStarCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStar);
if(cut) cut->SetRange(min,max);
else fCuts[fNCuts++] = new AliAODKStarCut(min,max);
}
/**********************************************************/
+void AliAODPairCut::SetKStarOutRange(Double_t min, Double_t max)
+{
+ // set range of accepted KStar (invariant pair momentum difference (fourvector))
+ AliAODKStarOutCut* cut= (AliAODKStarOutCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStarOut);
+ if(cut) cut->SetRange(min,max);
+ else fCuts[fNCuts++] = new AliAODKStarOutCut(min,max);
+}
+/**********************************************************/
+
+void AliAODPairCut::SetKStarSideRange(Double_t min, Double_t max)
+{
+ // set range of accepted KStar (invariant pair momentum difference (fourvector))
+ AliAODKStarSideCut* cut= (AliAODKStarSideCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStarSide);
+ if(cut) cut->SetRange(min,max);
+ else fCuts[fNCuts++] = new AliAODKStarSideCut(min,max);
+}
+/**********************************************************/
+
+void AliAODPairCut::SetKStarLongRange(Double_t min, Double_t max)
+{
+ // set range of accepted KStar (invariant pair momentum difference (fourvector))
+ AliAODKStarLongCut* cut= (AliAODKStarLongCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStarLong);
+ if(cut) cut->SetRange(min,max);
+ else fCuts[fNCuts++] = new AliAODKStarLongCut(min,max);
+}
+/**********************************************************/
+
void AliAODPairCut::SetAvSeparationRange(Double_t min, Double_t max)
{
//sets avarage separation cut ->Anti-Merging cut