fPtFraction(0.),
fICMethod(0),
fPartInCone(0),
-fDebug(-1)
+fDebug(-1),
+fFracIsThresh(1)
{
//default ctor
parList+=onePar ;
snprintf(onePar,buffersize,"fPartInCone=%d \n",fPartInCone) ;
parList+=onePar ;
-
+ snprintf(onePar,buffersize,"fFracIsThresh=%i \n",fFracIsThresh) ;
+ parList+=onePar ;
+
return parList;
}
fPtFraction = 0.1 ;
fPartInCone = kOnlyCharged;
fICMethod = kSumPtFracIC; // 0 pt threshol method, 1 cone pt sum method
-
+ fFracIsThresh = 1;
}
//________________________________________________________________________________
coneptsum+=pt;
if(pt > fPtThreshold ) n++;
//if fPtFraction*ptC<fPtThreshold then consider the fPtThreshold directly
- if(fPtFraction*ptC<fPtThreshold)
- {
- if(pt>fPtThreshold) nfrac++ ;
- }
- else
- {
- if(pt>fPtFraction*ptC) nfrac++;
- }
+ if(fFracIsThresh){
+ if( fPtFraction*ptC<fPtThreshold)
+ {
+ if(pt>fPtThreshold) nfrac++ ;
+ }
+ else
+ {
+ if(pt>fPtFraction*ptC) nfrac++;
+ }
+ }
+ else {
+ if(pt>fPtFraction*ptC) nfrac++;
+ }
}//in cone
else if( fICMethod == kSumPtFracIC)
{
//when the fPtFraction*ptC < fSumPtThreshold then consider the later case
- if(fPtFraction*ptC < fSumPtThreshold && coneptsum < fSumPtThreshold) isolated = kTRUE ;
- if(fPtFraction*ptC > fSumPtThreshold && coneptsum < fPtFraction*ptC) isolated = kTRUE ;
+ if(fFracIsThresh ){
+ if(fPtFraction*ptC < fSumPtThreshold && coneptsum < fSumPtThreshold) isolated = kTRUE ;
+ if( fPtFraction*ptC > fSumPtThreshold && coneptsum < fPtFraction*ptC) isolated = kTRUE ;
+ }
+ else
+ {
+ if(coneptsum < fPtFraction*ptC) isolated = kTRUE ;
+ }
}
- else if( fICMethod == kSumDensityIC)
+ else if( fICMethod == kSumDensityIC)
{
// Get good cell density (number of active cells over all cells in cone)
// and correct energy in cone
printf("pT threshold = %2.1f\n", fPtThreshold) ;
printf("pT fraction = %3.1f\n", fPtFraction ) ;
printf("particle type in cone = %d\n", fPartInCone ) ;
+ printf("using fraction for high pt leading instead of frac ? %i\n",fFracIsThresh);
printf(" \n") ;
}
Float_t GetPtFraction() const { return fPtFraction ; }
Int_t GetICMethod() const { return fICMethod ; }
Int_t GetParticleTypeInCone() const { return fPartInCone ; }
+ Bool_t GetFracIsThresh() const { return fFracIsThresh ; }
void SetConeSize(Float_t r) { fConeSize = r ; }
void SetPtThreshold(Float_t pt) { fPtThreshold = pt ; }
void SetICMethod(Int_t i ) { fICMethod = i ; }
void SetParticleTypeInCone(Int_t i) { fPartInCone = i ; }
void SetDebug(Int_t d) { fDebug = d ; }
+ void SetFracIsThresh(Bool_t f ) { fFracIsThresh = f ; }
private:
Float_t fConeSize ; // Size of the isolation cone
// kNeutralAndCharged, kOnlyNeutral, kOnlyCharged
Int_t fDebug; // Debug level
+ Bool_t fFracIsThresh; // Use threshold instead of fraction when pt leading is small
AliIsolationCut( const AliIsolationCut & g) ; // cpy ctor
AliIsolationCut & operator = (const AliIsolationCut & g) ; // cpy assignment