TObject(), fAsymmetryCut(1), fUseAsymmetryCut(0),
fM(0), fInvMassMaxCut(0.), fInvMassMinCut(0.), fInvMassMaxCutParam(),
fAngleMaxParam(), fUseAngleCut(0),
- fShiftMinAngle(0), fKeepNeutralMesonHistos(0),
+ fShiftMinAngle(), fKeepNeutralMesonHistos(0),
fhAnglePairNoCut(0), fhAnglePairOpeningAngleCut(0), fhAnglePairAsymmetryCut(0), fhAnglePairAllCut(0),
fhInvMassPairNoCut(0), fhInvMassPairOpeningAngleCut(0), fhInvMassPairAsymmetryCut(0), fhInvMassPairAllCut(0),
fhAsymmetryNoCut(0), fhAsymmetryOpeningAngleCut(0), fhAsymmetryAllCut(0),
fAngleMaxParam.Reset(0.);
SetParticle("Pi0");
-
- fShiftMinAngle = 0.03;
//Histogrammes settings
fHistoNEBins = 200 ;
Double_t arg = (e*e-2*fM*fM)/(e*e);
Double_t min = 100. ;
if(arg>0.)
- min = TMath::ACos(arg)-fShiftMinAngle;
+ min = TMath::ACos(arg)+fShiftMinAngle[0]+fShiftMinAngle[1]*e;
if((angle<max)&&(angle>=min)) return kTRUE ;
else return kFALSE ;
fInvMassMaxCutParam[1] =-7.e-5 ;
fInvMassMaxCutParam[2] = 8.e-5 ;
- fAngleMaxParam.AddAt( 0.40, 0) ;
- fAngleMaxParam.AddAt(-0.25, 1) ;
- fAngleMaxParam.AddAt( 0.025,2) ; //for pi0 shift, for eta maybe 0.09
- fAngleMaxParam.AddAt(-2.e-4,3) ;
+ fShiftMinAngle[0] =-0.03 ;
+ fShiftMinAngle[1] = 0.0025;
+
+ fAngleMaxParam.AddAt( 0.8, 0) ;
+ fAngleMaxParam.AddAt(-1, 1) ;
+ fAngleMaxParam.AddAt( 0.09, 2) ; //for pi0 shift, for eta maybe 0.09
+ fAngleMaxParam.AddAt(-2.e-3,3) ;
fHistoNIMBins = 150 ;
fHistoIMMax = 0.3 ;
fInvMassMaxCutParam[0] = 0.0 ;
fInvMassMaxCutParam[1] = 0.0 ;
- fInvMassMaxCutParam[2] = 0.0 ;
+ fInvMassMaxCutParam[2] = 0.0 ;
+
+ fShiftMinAngle[0] =-0.03 ;
+ fShiftMinAngle[0] = 0.00 ;
- fAngleMaxParam.AddAt( 0.40, 0) ; // Same as pi0
- fAngleMaxParam.AddAt(-0.25, 1) ; // Same as pi0
- fAngleMaxParam.AddAt( 0.1,2) ; // Shifted with respect to pi0
- fAngleMaxParam.AddAt(-2.e-4,3) ; // Same as pi0
+ fAngleMaxParam.AddAt( 0.80, 0) ; // Same as pi0
+ fAngleMaxParam.AddAt(-0.25, 1) ; // Same as pi0
+ fAngleMaxParam.AddAt( 0.12, 2) ; // Shifted with respect to pi0
+ fAngleMaxParam.AddAt(-5.e-4, 3) ; // Same as pi0
fHistoNIMBins = 200 ; // GeV
fHistoIMMax = 0.75 ; // GeV
printf("p1 : %f\n", fAngleMaxParam.At(1));
printf("p2 : %f\n", fAngleMaxParam.At(2));
printf("p3 : %f\n", fAngleMaxParam.At(3));
- printf("Min angle shift : %1.2f\n", fShiftMinAngle);
+ printf("Min angle shift : p0 = %1.3f, p1 = %1.3f,\n", fShiftMinAngle[0],fShiftMinAngle[1]);
}
printf("Keep Neutral Meson Histos = %d\n",fKeepNeutralMesonHistos);
Double_t GetAngleMaxParam(Int_t i) const { return fAngleMaxParam.At(i) ; }
void SetAngleMaxParam(Int_t i, Double_t par) { fAngleMaxParam.AddAt(par,i) ; }
- Float_t GetShiftMinAngleCut() const { return fShiftMinAngle ; }
- void SetShiftMinAngleCut(Float_t shift) { fShiftMinAngle = shift ; }
+ void SetShiftMinAngleCut(Float_t a, Float_t b) { fShiftMinAngle[0] = a ;
+ fShiftMinAngle[1] = b ; }
void SwitchOnAngleSelection() { fUseAngleCut = kTRUE ; }
void SwitchOffAngleSelection() { fUseAngleCut = kFALSE ; }
TArrayD fAngleMaxParam ; // Max opening angle selection parameters
Bool_t fUseAngleCut ; // Select pairs depending on their opening angle
- Float_t fShiftMinAngle ; // Correction shift for min angle from true kinematic limit, resolution effects
+ Float_t fShiftMinAngle[2] ; // Correction shift for min angle from true kinematic limit, resolution effects
Bool_t fKeepNeutralMesonHistos ; // Keep neutral meson selection histograms