#include "AliDielectronTrackCuts.h"
#include "AliVTrack.h"
+#include "AliAODTrack.h"
ClassImp(AliDielectronTrackCuts)
fITSclusterCutType(kOneOf),
fRequireITSRefit(kFALSE),
fRequireTPCRefit(kFALSE),
- fTPCNclRobustCut(-1)
+ fTPCNclRobustCut(-1),
+ fTPCcrossedOverFindable(-1.),
+ fAODFilterBit(kSwitchOff),
+ fWaiveITSNcls(-1)
{
//
// Default Constructor
fITSclusterCutType(kOneOf),
fRequireITSRefit(kFALSE),
fRequireTPCRefit(kFALSE),
- fTPCNclRobustCut(-1)
+ fTPCNclRobustCut(-1),
+ fTPCcrossedOverFindable(-1.),
+ fAODFilterBit(kSwitchOff),
+ fWaiveITSNcls(-1)
{
//
// Named Constructor
//more flexible ITS cluster cut
if (fITSclusterBitMap) accept*=CheckITSClusterCut(vtrack->GetITSClusterMap());
+ //different its cluster cut
+ if (fWaiveITSNcls > -1) {
+ Int_t nITScls = 0;
+ Int_t requiredNcls = 7;
+ for(Int_t i=5; i>=0; i--) {
+ if(TESTBIT(vtrack->GetITSClusterMap(),i)) {
+ nITScls++;
+ requiredNcls=6-fWaiveITSNcls-i;
+ }
+ }
+ accept*=(requiredNcls<=nITScls);
+ }
+
//its and tpc refit
if (fRequireITSRefit) accept*=(vtrack->GetStatus()&AliVTrack::kITSrefit)>0;
if (fRequireTPCRefit) accept*=(vtrack->GetStatus()&AliVTrack::kTPCrefit)>0;
+ Int_t nclr=TMath::Nint(vtrack->GetTPCClusterInfo(2,1));
if (fTPCNclRobustCut>0){
- Int_t nclr=TMath::Nint(vtrack->GetTPCClusterInfo(2,1));
- accept*=(nclr>fTPCNclRobustCut);
+ accept*=(nclr>fTPCNclRobustCut);
}
+ if (fTPCcrossedOverFindable > 0.) {
+ Int_t tpcNclsF = vtrack->GetTPCNclsF();
+ accept*=(tpcNclsF); //ESDtrackCut would return here true
+ if (tpcNclsF != 0) {//'accept' already negated above in this case above
+ accept*=(((Double_t)nclr/(Double_t)vtrack->GetTPCNclsF()) >= fTPCcrossedOverFindable);
+ }
+ }
+
+
+ // use filter bit to speed up the AOD analysis (track pre-filter)
+ // relevant filter bits are:
+ // kTPCqual==1 -> TPC quality cuts
+ // kTPCqualSPDany==4 -> + SPD any
+ // kTPCqualSPDanyPIDele==8 -> + nSigmaTPCele +-3 (inclusion)
+ if (track->IsA()==AliAODTrack::Class() && fAODFilterBit!=kSwitchOff) {
+ accept*=((AliAODTrack*)track)->TestFilterBit(fAODFilterBit);
+ }
+
return accept;
}