00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "StHbtMaker/Cut/mikesKinkCut.h"
00022 #include <cstdio>
00023
00024 #ifdef __ROOT__
00025 ClassImp(mikesKinkCut)
00026 #endif
00027
00028 mikesKinkCut::mikesKinkCut(){
00029 mNKinksPassed = mNKinksFailed = 0;
00030 }
00031
00032
00033
00034
00035
00036 bool mikesKinkCut::Pass(const StHbtKink* k){
00037 bool goodKink =
00038 ((k->DcaParentDaughter() > mDcaParentDaughter[0]) &&
00039 (k->DcaParentDaughter() < mDcaParentDaughter[1]) &&
00040 (k->DcaDaughterPrimaryVertex() > mDcaDaughterPrimaryVertex[0]) &&
00041 (k->DcaDaughterPrimaryVertex() < mDcaDaughterPrimaryVertex[1]) &&
00042 (k->DcaParentPrimaryVertex() > mDcaParentPrimaryVertex[0]) &&
00043 (k->DcaParentPrimaryVertex() < mDcaParentPrimaryVertex[1]) &&
00044 (k->HitDistanceParentDaughter() > mHitDistanceParentDaughter[0]) &&
00045 (k->HitDistanceParentDaughter() < mHitDistanceParentDaughter[1]) &&
00046 (k->HitDistanceParentVertex() > mHitDistanceParentVertex[0]) &&
00047 (k->HitDistanceParentVertex() < mHitDistanceParentVertex[1]) &&
00048 (k->DecayAngle() > mDecayAngle[0]) &&
00049 (k->DecayAngle() < mDecayAngle[1]) &&
00050 (k->DecayAngleCM() > mDecayAngleCM[0]) &&
00051 (k->DecayAngleCM() < mDecayAngleCM[1]));
00052
00053 goodKink ? mNKinksPassed++ : mNKinksFailed++ ;
00054 return (goodKink);
00055 }
00056
00057 StHbtString mikesKinkCut::Report(){
00058 string Stemp;
00059 char Ctemp[100];
00060 sprintf(Ctemp,"\nThis is mikesKinkCut");
00061 Stemp = Ctemp;
00062 sprintf(Ctemp,"\nDcaParentDaughter:\t %E-%E",mDcaParentDaughter[0],mDcaParentDaughter[1]);
00063 Stemp += Ctemp;
00064
00065 sprintf(Ctemp,"\nDcaDaughterPrimaryVertex:\t %E-%E",mDcaDaughterPrimaryVertex[0],mDcaDaughterPrimaryVertex[1]);
00066 Stemp += Ctemp;
00067 sprintf(Ctemp,"\nDcaParentPrimaryVertex:\t %E-%E",mDcaParentPrimaryVertex[0],mDcaParentPrimaryVertex[1]);
00068 Stemp += Ctemp;
00069 sprintf(Ctemp,"\nHitDistanceParentDaughter:\t %E-%E",mHitDistanceParentDaughter[0],mHitDistanceParentDaughter[1]);
00070 Stemp += Ctemp;
00071 sprintf(Ctemp,"\nHitDistanceParentVertex:\t %E-%E",mHitDistanceParentVertex[0],mHitDistanceParentVertex[1]);
00072 Stemp += Ctemp;
00073 sprintf(Ctemp,"\nDecayAngle:\t %E-%E",mDecayAngle[0],mDecayAngle[1]);
00074 Stemp += Ctemp;
00075 sprintf(Ctemp,"\nDecayAngleCM:\t %E-%E",mDecayAngleCM[0],mDecayAngleCM[1]);
00076 Stemp += Ctemp;
00077 sprintf(Ctemp,"\nNumber of kinks which passed:\t%ld Number which failed:\t%ld",mNKinksPassed,mNKinksFailed);
00078 Stemp += Ctemp;
00079 StHbtString returnThis = Stemp;
00080 return returnThis;
00081 }