fVertexRangeZ(20.),
fTRDtrackletsExact(kFALSE),
fTOFPIDStep(kFALSE),
+ fMatchTOFLabel(kFALSE),
fTOFMISMATCHStep(kFALSE),
fTPCPIDCLEANUPStep(kFALSE),
fITSpatternCut(kFALSE),
fTOFsignaldx(-1.0),
fTOFsignaldz(-1.0),
fAODFilterBit(-1),
+ fRejectKinkDaughters(kTRUE),
+ fRejectKinkMothers(kTRUE),
fHistQA(0x0),
fCutList(0x0),
fDebugLevel(0)
// Dummy Constructor
//
memset(fProdVtx, 0, sizeof(Double_t) * 4);
+ memset(fProdVtxZ, 0, sizeof(Double_t) * 2);
memset(fDCAtoVtx, 0, sizeof(Double_t) * 2);
memset(fPtRange, 0, sizeof(Double_t) * 2);
memset(fIPCutParams, 0, sizeof(Float_t) * 4);
memset(fSigmaToVtx, 0, sizeof(Double_t) * 3);
fEtaRange[0] = -0.8; fEtaRange[1] = 0.8;
+ fPhiRange[0] = -1.; fPhiRange[1] = -1.;
}
//__________________________________________________________________
fVertexRangeZ(20.),
fTRDtrackletsExact(kFALSE),
fTOFPIDStep(kFALSE),
+ fMatchTOFLabel(kFALSE),
fTOFMISMATCHStep(kFALSE),
fTPCPIDCLEANUPStep(kFALSE),
fITSpatternCut(kFALSE),
fTOFsignaldx(-1.0),
fTOFsignaldz(-1.0),
fAODFilterBit(-1),
+ fRejectKinkDaughters(kTRUE),
+ fRejectKinkMothers(kTRUE),
fHistQA(0x0),
fCutList(0x0),
fDebugLevel(0)
// Default Constructor
//
memset(fProdVtx, 0, sizeof(Double_t) * 4);
+ memset(fProdVtxZ, 0, sizeof(Double_t) * 2);
memset(fDCAtoVtx, 0, sizeof(Double_t) * 2);
memset(fPtRange, 0, sizeof(Double_t) * 2);
memset(fIPCutParams, 0, sizeof(Float_t) * 4);
memset(fSigmaToVtx, 0, sizeof(Double_t) * 3);
fEtaRange[0] = -0.8; fEtaRange[1] = 0.8;
+ fPhiRange[0] = -1.; fPhiRange[1] = -1.;
}
//__________________________________________________________________
fVertexRangeZ(20.),
fTRDtrackletsExact(kFALSE),
fTOFPIDStep(kFALSE),
+ fMatchTOFLabel(kFALSE),
fTOFMISMATCHStep(kFALSE),
fTPCPIDCLEANUPStep(kFALSE),
fITSpatternCut(c.fITSpatternCut),
fTOFsignaldx(-1.0),
fTOFsignaldz(-1.0),
fAODFilterBit(-1),
+ fRejectKinkDaughters(c.fRejectKinkDaughters),
+ fRejectKinkMothers(c.fRejectKinkMothers),
fHistQA(0x0),
fCutList(0x0),
fDebugLevel(0)
target.fVertexRangeZ = fVertexRangeZ;
target.fTRDtrackletsExact = fTRDtrackletsExact;
target.fTOFPIDStep = fTOFPIDStep;
+ target.fMatchTOFLabel = fMatchTOFLabel;
target.fTOFMISMATCHStep = fTOFMISMATCHStep;
target.fTPCPIDCLEANUPStep = fTPCPIDCLEANUPStep;
target.fUseMixedVertex = fUseMixedVertex;
target.fTOFsignaldx = fTOFsignaldx;
target.fTOFsignaldz = fTOFsignaldz;
target.fAODFilterBit = fAODFilterBit;
+ target.fRejectKinkDaughters = fRejectKinkDaughters;
+ target.fRejectKinkMothers = fRejectKinkMothers;
target.fDebugLevel = 0;
memcpy(target.fProdVtx, fProdVtx, sizeof(Double_t) * 4);
+ memcpy(target.fProdVtxZ, fProdVtxZ, sizeof(Double_t) * 2);
memcpy(target.fDCAtoVtx, fDCAtoVtx, sizeof(Double_t) * 2);
memcpy(target.fPtRange, fPtRange, sizeof(Double_t) *2);
memcpy(target.fIPCutParams, fIPCutParams, sizeof(Float_t) * 4);
memcpy(target.fSigmaToVtx, fSigmaToVtx, sizeof(Double_t) * 3);
memcpy(target.fEtaRange, fEtaRange, sizeof(Double_t) * 2);
+ memcpy(target.fPhiRange, fPhiRange, sizeof(Double_t) * 2);
// Copy cut List
if(target.fCutList){
genCuts->SetRequireIsPrimary();
}
if(IsRequireProdVertex()){
- AliDebug(3, Form("Vertex Range: fProdVtx[0] %f, fProdVtx[1] %f, fProdVtx[2] %f, fProdVtx[3] %f", fProdVtx[0], fProdVtx[1], fProdVtx[2], fProdVtx[3]));
+ AliDebug(3, Form("Vertex Range: fProdVtx[0] %f, fProdVtx[1] %f, fProdVtx[2] %f, fProdVtx[3] %f, fProdVtxZ[0] %f, fProdVtx[1] %f", fProdVtx[0], fProdVtx[1], fProdVtx[2], fProdVtx[3], fProdVtxZ[0], fProdVtxZ[1]));
//if(!IsAOD()) {
genCuts->SetProdVtxRangeX(fProdVtx[0], fProdVtx[1]);
genCuts->SetProdVtxRangeY(fProdVtx[2], fProdVtx[3]);
+ genCuts->SetProdVtxRangeZ(fProdVtxZ[0], fProdVtxZ[1]);
genCuts->SetProdVtxRange2D(kTRUE); // Use ellipse
//}
//else {
kineMCcuts->SetPtRange(fPtRange[0], fPtRange[1]);
//kineMCcuts->SetEtaRange(-0.8, 0.8);
kineMCcuts->SetEtaRange(fEtaRange[0],fEtaRange[1]);
+ if(fPhiRange[0] >= 0. && fPhiRange[1] >= 0.) kineMCcuts->SetPhiRange(fPhiRange[0], fPhiRange[1]);
if(IsQAOn()) kineMCcuts->SetQAOn(fHistQA);
mcCuts->AddLast(kineMCcuts);
}
if(fAODFilterBit > -1) hfecuts->SetAODFilterBit(fAODFilterBit);
AliCFTrackKineCuts *kineCuts = new AliCFTrackKineCuts((Char_t *)"fCutsKineRec", (Char_t *)"REC Kine Cuts");
+ //printf("Setting max. pt to %f\n", fPtRange[1]);
kineCuts->SetPtRange(fPtRange[0], fPtRange[1]);
//kineCuts->SetEtaRange(-0.8, 0.8);
kineCuts->SetEtaRange(fEtaRange[0],fEtaRange[1]);
+ if(fPhiRange[0] >= 0. && fPhiRange[1] >= 0.) kineCuts->SetPhiRange(fPhiRange[0], fPhiRange[1]);
if(IsQAOn()){
trackQuality->SetQAOn(fHistQA);
AliHFEextraCuts *hfecuts = new AliHFEextraCuts("fCutsPrimaryCutsextra","Extra cuts from the HFE group");
hfecuts->SetMaxImpactParameterRpar(fMaxImpactParameterRpar);
- hfecuts->SetRejectKinkDaughter();
- //hfecuts->SetRejectKinkMother();
+ if(fRejectKinkDaughters) hfecuts->SetRejectKinkDaughter();
+ if(fRejectKinkMothers) hfecuts->SetRejectKinkMother();
if(IsRequireDCAToVertex()){
hfecuts->SetMaxImpactParamR(fDCAtoVtx[0]);
hfecuts->SetMaxImpactParamZ(fDCAtoVtx[1]);
AliHFEextraCuts *hfecuts = new AliHFEextraCuts("fCutsHFElectronGroupTOF","Extra cuts from the HFE group on TOF PID");
if(fTOFPIDStep) hfecuts->SetTOFPID(kTRUE);
if(fTOFMISMATCHStep) hfecuts->SetTOFMISMATCH(kTRUE);
+ if(fMatchTOFLabel) hfecuts->SetMatchTOFLabel(kTRUE);
if((fTOFsignaldx > 0.0) && (fTOFsignaldz > 0.0)) hfecuts->SetTOFsignalDxz(fTOFsignaldx,fTOFsignaldz);
if(IsQAOn()) hfecuts->SetQAOn(fHistQA);
hfecuts->SetDebugLevel(fDebugLevel);