X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ANALYSIS%2FAliAnalysis.cxx;h=7ad46dfbf6a4234150cdebb3f85af3bff13c086d;hb=223dda261edb0d24da614961d91f186a6a27d677;hp=690f743b87e4ee40f3e847384068eb6faf81448f;hpb=78daa4405fce5bae27402c9cef8138706ff167c5;p=u%2Fmrichter%2FAliRoot.git diff --git a/ANALYSIS/AliAnalysis.cxx b/ANALYSIS/AliAnalysis.cxx index 690f743b87e..7ad46dfbf6a 100644 --- a/ANALYSIS/AliAnalysis.cxx +++ b/ANALYSIS/AliAnalysis.cxx @@ -14,13 +14,19 @@ /////////////////////////////////////////////////////////// #include "AliEventCut.h" +#include "AliAODPairCut.h" ClassImp(AliAnalysis) AliAnalysis::AliAnalysis(): fEventCut(0x0), fCutOnSim(kTRUE), - fCutOnRec(kTRUE) + fCutOnRec(kTRUE), + fPairCut(new AliAODPairEmptyCut()),//empty cut - accepts all particles + fkPass(&AliAnalysis::PassPartAndTrack), //by default perform cut on both track and particle pair + fkPass1(&AliAnalysis::PassPartAndTrack1), //used onluy by ProcessTracksAndParticles + fkPass2(&AliAnalysis::PassPartAndTrack2), + fkPassPairProp(&AliAnalysis::PassPairPropPartAndTrack) { //ctor } @@ -30,7 +36,12 @@ AliAnalysis::AliAnalysis(const char* name,const char* title): TTask(name,title), fEventCut(0x0), fCutOnSim(kTRUE), - fCutOnRec(kTRUE) + fCutOnRec(kTRUE), + fPairCut(new AliAODPairEmptyCut()),//empty cut - accepts all particles + fkPass(&AliAnalysis::PassPartAndTrack), //by default perform cut on both track and particle pair + fkPass1(&AliAnalysis::PassPartAndTrack1), //used onluy by ProcessTracksAndParticles + fkPass2(&AliAnalysis::PassPartAndTrack2), + fkPassPairProp(&AliAnalysis::PassPairPropPartAndTrack) { //ctor } @@ -52,16 +63,87 @@ void AliAnalysis::SetEventCut(AliEventCut* evcut) } /*********************************************************/ -Bool_t AliAnalysis::Pass(AliAOD* recevent, AliAOD* simevent) +Bool_t AliAnalysis::Rejected(AliAOD* recevent, AliAOD* simevent) { //checks the event cut if (fEventCut == 0x0) return kFALSE; if (fCutOnRec) - if (fEventCut->Pass(recevent)) return kTRUE; + if (fEventCut->Rejected(recevent)) return kTRUE; if (fCutOnSim) - if (fEventCut->Pass(simevent)) return kTRUE; + if (fEventCut->Rejected(simevent)) return kTRUE; return kFALSE; } +/*************************************************************************************/ + +void AliAnalysis::SetPairCut(AliAODPairCut* cut) +{ +//Sets new Pair Cut. Old one is deleted +//Note that it is created new object instead of simple pointer set +//I do not want to have pointer +//to object created somewhere else +//because in that case I could not believe that +//it would always exist (sb could delete it) +//so we have always own copy + + if(!cut) + { + Error("AliHBTFunction::SetPairCut","argument is NULL"); + return; + } + delete fPairCut; + fPairCut = (AliAODPairCut*)cut->Clone(); + +} +/******************************************************************/ + +void AliAnalysis::SetCutsOnSim() +{ + // -- aplies only to Process("TracksAndParticles") + // (ProcessTracksAndParticles and ProcessTracksAndParticlesNonIdentAnal) + // Only particles properties are checkes against cuts + + fCutOnRec = kFALSE; + fCutOnSim = kTRUE; + + fkPass = &AliAnalysis::PassPart; + fkPass1 = &AliAnalysis::PassPart1; + fkPass2 = &AliAnalysis::PassPart2; + fkPassPairProp = &AliAnalysis::PassPairPropPart; + +} +/*************************************************************************************/ + +void AliAnalysis::SetCutsOnRec() +{ + // -- aplies only to Process("TracksAndParticles") + // (ProcessTracksAndParticles and ProcessTracksAndParticlesNonIdentAnal) + // Only tracks properties are checkes against cuts + + fCutOnRec = kTRUE; + fCutOnSim = kFALSE; + + fkPass = &AliAnalysis::PassTrack; + fkPass1 = &AliAnalysis::PassTrack1; + fkPass2 = &AliAnalysis::PassTrack2; + fkPassPairProp = &AliAnalysis::PassPairPropTrack; + +} +/*************************************************************************************/ + +void AliAnalysis::SetCutsOnRecAndSim() +{ + // -- aplies only to Process("TracksAndParticles") + // (ProcessTracksAndParticles and ProcessTracksAndParticlesNonIdentAnal) + // Both, tracks and particles, properties are checked against cuts + + fCutOnRec = kTRUE; + fCutOnSim = kTRUE; + + fkPass = &AliAnalysis::PassPartAndTrack; + fkPass1 = &AliAnalysis::PassPartAndTrack1; + fkPass2 = &AliAnalysis::PassPartAndTrack2; + fkPassPairProp = &AliAnalysis::PassPairPropPartAndTrack; +}