#include <TClonesArray.h>
#include <TRandom3.h>
-
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliAnalysisManager.h"
#include "AliESDtrack.h"
#include "AliESDtrackCuts.h"
+#include "AliEmcalPicoTrackMaker.h"
#include "AliLog.h"
#include "AliPicoTrack.h"
#include "AliVTrack.h"
-#include "AliEmcalPicoTrackMaker.h"
ClassImp(AliEmcalPicoTrackMaker)
//________________________________________________________________________
AliEmcalPicoTrackMaker::AliEmcalPicoTrackMaker() :
AliAnalysisTaskSE("AliEmcalPicoTrackMaker"),
- fESDtrackCuts(0),
fTracksOutName("PicoTracks"),
fTracksInName("tracks"),
fMinTrackPt(0),
fMaxTrackPt(1000),
- fMinTrackEta(-0.9),
- fMaxTrackEta(0.9),
+ fMinTrackEta(-10),
+ fMaxTrackEta(10),
fMinTrackPhi(-10),
fMaxTrackPhi(10),
fTrackEfficiency(1),
//________________________________________________________________________
AliEmcalPicoTrackMaker::AliEmcalPicoTrackMaker(const char *name) :
AliAnalysisTaskSE(name),
- fESDtrackCuts(0),
fTracksOutName("PicoTracks"),
fTracksInName("tracks"),
fMinTrackPt(0),
fMaxTrackPt(1000),
- fMinTrackEta(-0.9),
- fMaxTrackEta(0.9),
+ fMinTrackEta(-10),
+ fMaxTrackEta(10),
fMinTrackPhi(-10),
fMaxTrackPhi(10),
fTrackEfficiency(1),
InputEvent()->AddObject(fTracksOut);
}
- // clear container (normally a null operation as the event should clean it already)
- fTracksOut->Clear();
-
- // test if we are in ESD or AOD mode
- Bool_t esdMode = kTRUE;
- if (dynamic_cast<AliAODEvent*>(InputEvent())!=0)
- esdMode = kFALSE;
-
// loop over tracks
const Int_t Ntracks = fTracksIn->GetEntriesFast();
for (Int_t iTracks = 0, nacc = 0; iTracks < Ntracks; ++iTracks) {
track->Phi() < fMinTrackPhi || track->Phi() > fMaxTrackPhi)
continue;
- Bool_t isEmc = kFALSE;
- Int_t label = -1;
- if (esdMode) {
- if (fESDtrackCuts) {
- AliESDtrack *esdtrack = static_cast<AliESDtrack*>(track);
- if (!fESDtrackCuts->AcceptTrack(esdtrack))
- continue;
- }
- label = track->GetLabel();
- isEmc = track->IsEMCAL();
- } else {
- AliAODTrack *aodtrack = static_cast<AliAODTrack*>(track);
- if (fAODfilterBits[0] < 0) {
- if (aodtrack->IsHybridGlobalConstrainedGlobal())
- label = 3;
- else /*not a good track*/
- continue;
- }
- else {
- if (aodtrack->TestFilterBit(fAODfilterBits[0]))
- label = 0;
- else if (aodtrack->TestFilterBit(fAODfilterBits[1]))
- label = 3;
- else /*not a good track*/
- continue;
- }
-
- if (TMath::Abs(track->GetTrackEtaOnEMCal()) < 0.75 &&
- track->GetTrackPhiOnEMCal() > 70 * TMath::DegToRad() &&
- track->GetTrackPhiOnEMCal() < 190 * TMath::DegToRad())
- isEmc = kTRUE;
- }
-
if (fTrackEfficiency < 1) {
Double_t r = gRandom->Rndm();
if (fTrackEfficiency < r)
continue;
}
- /*AliPicoTrack *picotrack =*/ new ((*fTracksOut)[nacc]) AliPicoTrack(track->Pt(),
- track->Eta(),
- track->Phi(),
- track->Charge(),
- label,
- track->GetTrackEtaOnEMCal(),
- track->GetTrackPhiOnEMCal(),
- isEmc);
+ Bool_t isEmc = kFALSE;
+ if (TMath::Abs(track->GetTrackEtaOnEMCal()) < 0.75 &&
+ track->GetTrackPhiOnEMCal() > 70 * TMath::DegToRad() &&
+ track->GetTrackPhiOnEMCal() < 190 * TMath::DegToRad())
+ isEmc = kTRUE;
+
+ AliPicoTrack *picotrack = new ((*fTracksOut)[nacc]) AliPicoTrack(track->Pt(),
+ track->Eta(),
+ track->Phi(),
+ track->Charge(),
+ track->GetLabel(),
+ AliPicoTrack::GetTrackType(track),
+ track->GetTrackEtaOnEMCal(),
+ track->GetTrackPhiOnEMCal(),
+ track->GetTrackPtOnEMCal(),
+ isEmc);
+ picotrack->SetTrack(track);
++nacc;
}
}