#include <TChain.h>
#include <TH1D.h>
#include <TFile.h>
#include <AliCFContainer.h>
#include <AliInputEventHandler.h>
#include <AliESDInputHandler.h>
#include <AliAODInputHandler.h>
#include <AliAnalysisManager.h>
#include <AliVEvent.h>
#include <AliESDEvent.h>
#include <AliAODEvent.h>
#include <AliESDHeader.h>
#include <AliAODHeader.h>
#include <AliAODTrack.h>
#include <AliTriggerAnalysis.h>
#include <AliESDtrackCuts.h>
#include <AliVZDC.h>
#include <AliESDv0.h>
#include <AliESDv0Cuts.h>
#include <AliESDv0KineCuts.h>
#include <AliESDFMD.h>
#include <AliVCluster.h>
#include <AliAODTracklets.h>
#include <AliMultiplicity.h>
#include <AliPIDResponse.h>
#include "AliDielectron.h"
#include "AliDielectronHistos.h"
#include "AliDielectronMC.h"
#include "AliDielectronVarManager.h"
#include "AliFlowTrackCuts.h"
#include "AliFlowBayesianPID.h"
#include "AliReducedEvent.h"
#include "AliAnalysisTaskReducedTree.h"
#include <iostream>
using std::cout;
using std::endl;
ClassImp(AliAnalysisTaskReducedTree)
AliAnalysisTaskReducedTree::AliAnalysisTaskReducedTree() :
AliAnalysisTaskSE(),
fListDielectron(),
fListHistos(),
fSelectPhysics(kFALSE),
fTriggerMask(AliVEvent::kAny),
fRejectPileup(kFALSE),
fFillTrackInfo(kTRUE),
fFillDielectronInfo(kTRUE),
fFillV0Info(kTRUE),
fFillGammaConversions(kTRUE),
fFillK0s(kTRUE),
fFillLambda(kTRUE),
fFillALambda(kTRUE),
fFillCaloClusterInfo(kTRUE),
fFillFMDSectorInfo(kFALSE),
fFillFMDChannelInfo(kFALSE),
fFillFriendInfo(kTRUE),
fEventFilter(0x0),
fTrackFilter(0x0),
fFlowTrackFilter(0x0),
fK0sCuts(0x0),
fLambdaCuts(0x0),
fGammaConvCuts(0x0),
fK0sPionCuts(0x0),
fLambdaProtonCuts(0x0),
fLambdaPionCuts(0x0),
fGammaElectronCuts(0x0),
fV0OpenCuts(0x0),
fV0StrongCuts(0x0),
fK0sMassRange(),
fLambdaMassRange(),
fGammaMassRange(),
fV0Histos(0x0),
fTreeFile(0x0),
fTree(0x0),
fFriendTreeFile(0x0),
fFriendTree(0x0),
fReducedEvent(0x0),
fReducedEventFriend(0x0)
{
}
AliAnalysisTaskReducedTree::AliAnalysisTaskReducedTree(const char *name) :
AliAnalysisTaskSE(name),
fListDielectron(),
fListHistos(),
fSelectPhysics(kFALSE),
fTriggerMask(AliVEvent::kAny),
fRejectPileup(kFALSE),
fFillTrackInfo(kTRUE),
fFillDielectronInfo(kTRUE),
fFillV0Info(kTRUE),
fFillGammaConversions(kTRUE),
fFillK0s(kTRUE),
fFillLambda(kTRUE),
fFillALambda(kTRUE),
fFillCaloClusterInfo(kTRUE),
fFillFMDSectorInfo(kFALSE),
fFillFMDChannelInfo(kFALSE),
fFillFriendInfo(kTRUE),
fEventFilter(0x0),
fTrackFilter(0x0),
fFlowTrackFilter(0x0),
fK0sCuts(0x0),
fLambdaCuts(0x0),
fGammaConvCuts(0x0),
fK0sPionCuts(0x0),
fLambdaProtonCuts(0x0),
fLambdaPionCuts(0x0),
fGammaElectronCuts(0x0),
fV0OpenCuts(0x0),
fV0StrongCuts(0x0),
fK0sMassRange(),
fLambdaMassRange(),
fGammaMassRange(),
fV0Histos(0x0),
fTreeFile(0x0),
fTree(0x0),
fFriendTreeFile(0x0),
fFriendTree(0x0),
fReducedEvent(0x0),
fReducedEventFriend(0x0)
{
fK0sMassRange[0] = 0.4; fK0sMassRange[1] = 0.6;
fLambdaMassRange[0] = 1.08; fLambdaMassRange[1] = 1.15;
fGammaMassRange[0] = 0.0; fGammaMassRange[1] = 0.1;
DefineInput(0,TChain::Class());
DefineOutput(1, TList::Class());
DefineOutput(2, TTree::Class());
fListHistos.SetName("QAhistograms");
fListDielectron.SetOwner();
fListHistos.SetOwner(kFALSE);
}
void AliAnalysisTaskReducedTree::UserCreateOutputObjects()
{
if (!fListHistos.IsEmpty() || fTree || fFriendTree) return;
TIter nextDie(&fListDielectron);
AliDielectron *die=0;
while ( (die=static_cast<AliDielectron*>(nextDie())) ){
die->Init();
if (die->GetHistogramList()) fListHistos.Add(const_cast<THashList*>(die->GetHistogramList()));
}
if(fV0Histos) fListHistos.Add(const_cast<THashList*>(fV0Histos->GetHistogramList()));
if(fFillFriendInfo) {
fFriendTree = new TTree("DstFriendTree","Reduced ESD information");
fReducedEventFriend = new AliReducedEventFriend();
fFriendTree->Branch("Event",&fReducedEventFriend,16000,99);
}
OpenFile(2);
fTree = new TTree("DstTree","Reduced ESD information");
fReducedEvent = new AliReducedEvent("DstEvent");
fTree->Branch("Event",&fReducedEvent,16000,99);
PostData(1, &fListHistos);
PostData(2, fTree);
}
void AliAnalysisTaskReducedTree::UserExec(Option_t *)
{
AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
Bool_t isESD=man->GetInputEventHandler()->IsA()==AliESDInputHandler::Class();
Bool_t isAOD=man->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
if (!inputHandler) return;
if ( inputHandler->GetPIDResponse() ){
AliDielectronVarManager::SetPIDResponse( inputHandler->GetPIDResponse() );
} else {
AliFatal("This task needs the PID response attached to the input event handler!");
}
UInt_t isSelected = AliVEvent::kAny;
if(fSelectPhysics && inputHandler){
if((isESD && inputHandler->GetEventSelection()) || isAOD){
isSelected = inputHandler->IsEventSelected();
isSelected&=fTriggerMask;
}
}
if(isSelected==0) {
return;
}
Double_t values[AliDielectronVarManager::kNMaxValues]={0};
AliDielectronVarManager::Fill(InputEvent(),values);
TIter nextDie(&fListDielectron);
AliDielectron *die=0;
while ( (die=static_cast<AliDielectron*>(nextDie())) ){
AliDielectronHistos *h=die->GetHistoManager();
if (h){
if (h->GetHistogramList()->FindObject("Event_noCuts"))
h->FillClass("Event_noCuts",AliDielectronVarManager::kNMaxValues,values);
}
}
nextDie.Reset();
if (fEventFilter) {
if (!fEventFilter->IsSelected(InputEvent())) return;
}
if (fRejectPileup){
if (InputEvent()->IsPileupFromSPD(3,0.8,3.,2.,5.)) return;
}
Double_t bz = InputEvent()->GetMagneticField();
AliKFParticle::SetField( bz );
fReducedEvent->ClearEvent();
if(fFillFriendInfo) fReducedEventFriend->ClearEvent();
FillEventInfo();
if(fFillV0Info) FillV0PairInfo();
Short_t idie=0;
if(fFillDielectronInfo) {
while((die=static_cast<AliDielectron*>(nextDie()))){
die->Process(InputEvent());
FillDielectronPairInfo(die, idie);
++idie;
}
}
nextDie.Reset();
if(fFillTrackInfo) FillTrackInfo();
if(fFillFriendInfo) FillFriendEventInfo();
fTree->Fill();
if(fFillFriendInfo) fFriendTree->Fill();
PostData(1, &fListHistos);
PostData(2, fTree);
}
void AliAnalysisTaskReducedTree::FillEventInfo()
{
AliVEvent* event = InputEvent();
AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
Bool_t isESD = (event->IsA()==AliESDEvent::Class());
Bool_t isAOD = (event->IsA()==AliAODEvent::Class());
AliESDEvent* esdEvent = 0x0;
if(isESD) esdEvent = static_cast<AliESDEvent*>(event);
AliAODEvent* aodEvent = 0x0;
if(isAOD) aodEvent = static_cast<AliAODEvent*>(event);
AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
UInt_t isSelected = AliVEvent::kAny;
if(inputHandler){
if((isESD && inputHandler->GetEventSelection()) || isAOD){
isSelected = inputHandler->IsEventSelected();
isSelected&=fTriggerMask;
}
}
Double_t values[AliDielectronVarManager::kNMaxValues];
AliDielectronVarManager::Fill(event, values);
fReducedEvent->fRunNo = event->GetRunNumber();
fReducedEvent->fBC = event->GetBunchCrossNumber();
fReducedEvent->fEventType = event->GetEventType();
fReducedEvent->fTriggerMask = event->GetTriggerMask();
fReducedEvent->fIsPhysicsSelection = (isSelected!=0 ? kTRUE : kFALSE);
fReducedEvent->fIsSPDPileup = event->IsPileupFromSPD(3,0.8,3.,2.,5.);
fReducedEvent->fIsSPDPileupMultBins = event->IsPileupFromSPDInMultBins();
AliVVertex* eventVtx = 0x0;
if(isESD) eventVtx = const_cast<AliESDVertex*>(esdEvent->GetPrimaryVertexTracks());
if(isAOD) eventVtx = const_cast<AliAODVertex*>(aodEvent->GetPrimaryVertex());
if(eventVtx) {
fReducedEvent->fVtx[0] = (isESD ? ((AliESDVertex*)eventVtx)->GetX() : ((AliAODVertex*)eventVtx)->GetX());
fReducedEvent->fVtx[1] = (isESD ? ((AliESDVertex*)eventVtx)->GetY() : ((AliAODVertex*)eventVtx)->GetY());
fReducedEvent->fVtx[2] = (isESD ? ((AliESDVertex*)eventVtx)->GetZ() : ((AliAODVertex*)eventVtx)->GetZ());
fReducedEvent->fNVtxContributors = eventVtx->GetNContributors();
}
if(isESD) {
eventVtx = const_cast<AliESDVertex*>(esdEvent->GetPrimaryVertexTPC());
fReducedEvent->fEventNumberInFile = esdEvent->GetEventNumberInFile();
fReducedEvent->fL0TriggerInputs = esdEvent->GetHeader()->GetL0TriggerInputs();
fReducedEvent->fL1TriggerInputs = esdEvent->GetHeader()->GetL1TriggerInputs();
fReducedEvent->fL2TriggerInputs = esdEvent->GetHeader()->GetL2TriggerInputs();
fReducedEvent->fIRIntClosestIntMap[0] = esdEvent->GetHeader()->GetIRInt1ClosestInteractionMap();
fReducedEvent->fIRIntClosestIntMap[1] = esdEvent->GetHeader()->GetIRInt2ClosestInteractionMap();
if(eventVtx) {
fReducedEvent->fVtxTPC[0] = ((AliESDVertex*)eventVtx)->GetX();
fReducedEvent->fVtxTPC[1] = ((AliESDVertex*)eventVtx)->GetY();
fReducedEvent->fVtxTPC[2] = ((AliESDVertex*)eventVtx)->GetZ();
fReducedEvent->fNVtxTPCContributors = eventVtx->GetNContributors();
}
fReducedEvent->fTimeStamp = esdEvent->GetTimeStamp();
fReducedEvent->fNpileupSPD = esdEvent->GetNumberOfPileupVerticesSPD();
fReducedEvent->fNpileupTracks = esdEvent->GetNumberOfPileupVerticesTracks();
fReducedEvent->fNPMDtracks = esdEvent->GetNumberOfPmdTracks();
fReducedEvent->fNTRDtracks = esdEvent->GetNumberOfTrdTracks();
fReducedEvent->fNTRDtracklets = esdEvent->GetNumberOfTrdTracklets();
AliESDZDC* zdc = esdEvent->GetESDZDC();
if(zdc) {
for(Int_t i=0; i<5; ++i) fReducedEvent->fZDCnEnergy[i] = zdc->GetZN1TowerEnergy()[i];
for(Int_t i=5; i<10; ++i) fReducedEvent->fZDCnEnergy[i] = zdc->GetZN2TowerEnergy()[i-5];
for(Int_t i=0; i<5; ++i) fReducedEvent->fZDCpEnergy[i] = zdc->GetZP1TowerEnergy()[i];
for(Int_t i=5; i<10; ++i) fReducedEvent->fZDCpEnergy[i] = zdc->GetZP2TowerEnergy()[i-5];
}
}
if(isAOD) {
AliAODHeader * header = dynamic_cast<AliAODHeader*>(aodEvent->GetHeader());
if(!header) AliFatal("Not a standard AOD");
fReducedEvent->fIRIntClosestIntMap[0] = header->GetIRInt1ClosestInteractionMap();
fReducedEvent->fIRIntClosestIntMap[1] = header->GetIRInt2ClosestInteractionMap();
fReducedEvent->fEventNumberInFile = header->GetEventNumberESDFile();
fReducedEvent->fL0TriggerInputs = header->GetL0TriggerInputs();
fReducedEvent->fL1TriggerInputs = header->GetL1TriggerInputs();
fReducedEvent->fL2TriggerInputs = header->GetL2TriggerInputs();
fReducedEvent->fTimeStamp = 0;
fReducedEvent->fNpileupSPD = aodEvent->GetNumberOfPileupVerticesSPD();
fReducedEvent->fNpileupTracks = aodEvent->GetNumberOfPileupVerticesTracks();
fReducedEvent->fNPMDtracks = aodEvent->GetNPmdClusters();
fReducedEvent->fNTRDtracks = 0;
fReducedEvent->fNTRDtracklets = 0;
AliAODZDC* zdc = aodEvent->GetZDCData();
if(zdc) {
for(Int_t i=0; i<5; ++i) fReducedEvent->fZDCnEnergy[i] = zdc->GetZNATowerEnergy()[i];
for(Int_t i=5; i<10; ++i) fReducedEvent->fZDCnEnergy[i] = zdc->GetZNCTowerEnergy()[i-5];
for(Int_t i=0; i<5; ++i) fReducedEvent->fZDCpEnergy[i] = zdc->GetZPATowerEnergy()[i];
for(Int_t i=5; i<10; ++i) fReducedEvent->fZDCpEnergy[i] = zdc->GetZPCTowerEnergy()[i-5];
}
}
if(isESD) {
const AliESDTZERO* tzero = esdEvent->GetESDTZERO();
if(tzero) {
fReducedEvent->fT0start = tzero->GetT0();
fReducedEvent->fT0zVertex = tzero->GetT0zVertex();
for(Int_t i = 0;i<24;i++)
fReducedEvent->fT0amplitude[i] = tzero->GetT0amplitude()[i];
for(Int_t i = 0;i<3;i++)
fReducedEvent->fT0TOF[i] = tzero->GetT0TOF()[i];
for(Int_t i = 0;i<3;i++)
fReducedEvent->fT0TOFbest[i] = tzero->GetT0TOFbest()[i];
fReducedEvent->fT0pileup = tzero->GetPileupFlag();
fReducedEvent->fT0sattelite = tzero->GetSatellite();
}
}
if(isAOD) {
AliAODTZERO* tzero = aodEvent->GetTZEROData();
if(tzero) {
fReducedEvent->fT0start = -999.;
fReducedEvent->fT0zVertex = tzero->GetT0zVertex();
for(Int_t i = 0;i<26;i++)
fReducedEvent->fT0amplitude[i] = tzero->GetAmp(i);
for(Int_t i = 0;i<3;i++)
fReducedEvent->fT0TOF[i] = tzero->GetT0TOF()[i];
for(Int_t i = 0;i<3;i++)
fReducedEvent->fT0TOFbest[i] = tzero->GetT0TOFbest()[i];
fReducedEvent->fT0pileup = tzero->GetPileupFlag();
fReducedEvent->fT0sattelite = tzero->GetSatellite();
}
}
if(fFillFMDChannelInfo&&isESD) fReducedEvent->fIsFMDReduced = kFALSE;
if((fFillFMDSectorInfo||fFillFMDChannelInfo)&&isESD) FillFMDInfo();
AliCentrality *centrality = event->GetCentrality();
if(centrality) {
fReducedEvent->fCentrality[0] = centrality->GetCentralityPercentile("V0M");
fReducedEvent->fCentrality[1] = centrality->GetCentralityPercentile("CL1");
fReducedEvent->fCentrality[2] = centrality->GetCentralityPercentile("TRK");
fReducedEvent->fCentrality[3] = centrality->GetCentralityPercentile("ZEMvsZDC");
fReducedEvent->fCentQuality = centrality->GetQuality();
}
fReducedEvent->fNtracks[0] = event->GetNumberOfTracks();
fReducedEvent->fSPDntracklets = GetSPDTrackletMultiplicity(event, -1.0, 1.0);
for(Int_t ieta=0; ieta<32; ++ieta)
fReducedEvent->fSPDntrackletsEta[ieta] = GetSPDTrackletMultiplicity(event, -1.6+0.1*ieta, -1.6+0.1*(ieta+1));
AliVVZERO* vzero = event->GetVZEROData();
for(Int_t i=0;i<64;++i)
fReducedEvent->fVZEROMult[i] = vzero->GetMultiplicity(i);
if(fFillCaloClusterInfo) FillCaloClusters();
}
void AliAnalysisTaskReducedTree::FillCaloClusters() {
AliVEvent* event = InputEvent();
Int_t nclusters = event->GetNumberOfCaloClusters();
fReducedEvent->fNCaloClusters = 0;
for(Int_t iclus=0; iclus<nclusters; ++iclus) {
AliVCluster* cluster = event->GetCaloCluster(iclus);
TClonesArray& clusters = *(fReducedEvent->fCaloClusters);
AliReducedCaloCluster *reducedCluster=new(clusters[fReducedEvent->fNCaloClusters]) AliReducedCaloCluster();
reducedCluster->fType = (cluster->IsEMCAL() ? AliReducedCaloCluster::kEMCAL : AliReducedCaloCluster::kPHOS);
reducedCluster->fEnergy = cluster->E();
reducedCluster->fTrackDx = cluster->GetTrackDx();
reducedCluster->fTrackDz = cluster->GetTrackDz();
reducedCluster->fM20 = cluster->GetM20();
reducedCluster->fM02 = cluster->GetM02();
reducedCluster->fDispersion = cluster->GetDispersion();
fReducedEvent->fNCaloClusters += 1;
}
}
void AliAnalysisTaskReducedTree::FillFriendEventInfo() {
for(Int_t idet=0; idet<AliReducedEventFriend::kNdetectors; ++idet) {
fReducedEvent->GetQvector(fReducedEventFriend->fQvector[idet], idet);
for(Int_t ih=0; ih<fgkNMaxHarmonics; ++ih)
fReducedEventFriend->fEventPlaneStatus[idet][ih] = AliReducedEventFriend::kRaw;
}
}
void AliAnalysisTaskReducedTree::FillFMDInfo()
{
AliVEvent* event = InputEvent();
Bool_t isESD = (event->IsA()==AliESDEvent::Class());
if(!isESD) return;
AliESDEvent* esdEvent = 0x0;
if(isESD) esdEvent = static_cast<AliESDEvent*>(event);
AliESDFMD* esdFmd = esdEvent->GetFMDData();
Int_t nFMD=0;
Int_t id=-1;
Int_t maxDet=3;
Int_t maxRing=2;
Int_t maxSector;
Int_t maxStrip;
Float_t m=0.0;
Double_t phi;
Char_t ring;
Float_t fmdMult;
Float_t msum=0;
UShort_t fmdDet=0;
Int_t phiBin=0;
for(UShort_t det = 1; det <= maxDet; ++det) {
(det == 1 ? maxRing=1 : maxRing=2);
for(UShort_t ir = 0; ir < maxRing; ++ir) {
ring = (ir == 0 ? 'I' : 'O');
(ir == 0 ? maxSector=20 : maxSector=40);
(ir == 0 ? maxStrip=512 : maxStrip=256);
nFMD=-1;
for(UShort_t sec = 0; sec < maxSector; ++sec) {
phi = esdFmd->Phi(det, ring, sec, 0)/180.*TMath::Pi();
phiBin = Int_t (phi/2/TMath::Pi()*maxSector);
fmdMult = 0;
for(UShort_t str = 0; str < maxStrip; ++str) {
++id;
m = esdFmd->Multiplicity(det, ring, sec, str);
if(fFillFMDChannelInfo)
if(m<1.e-6) continue;
if(m == AliESDFMD::kInvalidMult) m=0;
fmdMult += m;
msum+=m;
++nFMD;
if(fFillFMDChannelInfo){
if(m>15.) m=15.;
m = UShort_t(m*4369+0.5);
TClonesArray& fmd = *(fReducedEvent->GetFMD(fmdDet));
AliReducedFMD *reducedFMD=new(fmd[nFMD]) AliReducedFMD();
fReducedEvent->fNFMDchannels[fmdDet] += 1;
reducedFMD->fMultiplicity = m;
reducedFMD->fId = id;
}
}
if(fFillFMDSectorInfo) {
TClonesArray& fmd = *(fReducedEvent->GetFMD(fmdDet));
AliReducedFMD *reducedFMD=new(fmd[phiBin]) AliReducedFMD();
reducedFMD->fMultiplicity = fmdMult;
fReducedEvent->fNFMDchannels[fmdDet] += 1;
fmdMult=0.0;
}
}
fReducedEvent->fFMDtotalMult[fmdDet] = msum;
msum=0.0;
++fmdDet;
id=-1;
}
}
}
void AliAnalysisTaskReducedTree::FillTrackInfo()
{
AliVEvent* event = InputEvent();
Bool_t isESD = (event->IsA()==AliESDEvent::Class());
Bool_t isAOD = (event->IsA()==AliAODEvent::Class());
AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
AliPIDResponse* pidResponse = inputHandler->GetPIDResponse();
UShort_t trackIdsV0[4][20000]={{0}};
UShort_t trackIdsPureV0[4][20000]={{0}};
Int_t nV0LegsTagged[4] = {0}; Int_t nPureV0LegsTagged[4] = {0};
Bool_t leg1Found[4]; Bool_t leg2Found[4];
for(Int_t iv0=0;iv0<fReducedEvent->fNV0candidates[1];++iv0) {
AliReducedPair* pair = fReducedEvent->GetV0Pair(iv0);
if(!pair) continue;
Int_t pairId = 0; Bool_t isPureV0 = kFALSE;
if(pair->fCandidateId==AliReducedPair::kGammaConv) {
pairId=0;
if(pair->IsPureV0Gamma()) isPureV0 = kTRUE;
}
if(pair->fCandidateId==AliReducedPair::kK0sToPiPi) {
pairId=1;
if(pair->IsPureV0K0s()) isPureV0 = kTRUE;
}
if(pair->fCandidateId==AliReducedPair::kLambda0ToPPi) {
pairId=2;
if(pair->IsPureV0Lambda()) isPureV0 = kTRUE;
}
if(pair->fCandidateId==AliReducedPair::kALambda0ToPPi) {
pairId=3;
if(pair->IsPureV0ALambda()) isPureV0 = kTRUE;
}
leg1Found[pairId] = kFALSE; leg2Found[pairId] = kFALSE;
for(Int_t it=0;it<nV0LegsTagged[pairId];++it) {
if(trackIdsV0[pairId][it]==pair->fLegIds[0]) leg1Found[pairId]=kTRUE;
if(trackIdsV0[pairId][it]==pair->fLegIds[1]) leg2Found[pairId]=kTRUE;
}
if(!leg1Found[pairId]) {trackIdsV0[pairId][nV0LegsTagged[pairId]] = pair->fLegIds[0]; ++nV0LegsTagged[pairId];}
if(!leg2Found[pairId]) {trackIdsV0[pairId][nV0LegsTagged[pairId]] = pair->fLegIds[1]; ++nV0LegsTagged[pairId];}
if(isPureV0) {
leg1Found[pairId] = kFALSE; leg2Found[pairId] = kFALSE;
for(Int_t it=0;it<nPureV0LegsTagged[pairId];++it) {
if(trackIdsPureV0[pairId][it]==pair->fLegIds[0]) leg1Found[pairId]=kTRUE;
if(trackIdsPureV0[pairId][it]==pair->fLegIds[1]) leg2Found[pairId]=kTRUE;
}
if(!leg1Found[pairId]) {trackIdsPureV0[pairId][nPureV0LegsTagged[pairId]] = pair->fLegIds[0]; ++nPureV0LegsTagged[pairId];}
if(!leg2Found[pairId]) {trackIdsPureV0[pairId][nPureV0LegsTagged[pairId]] = pair->fLegIds[1]; ++nPureV0LegsTagged[pairId];}
}
}
UShort_t trackIdsDiele[20000]={0};
Int_t nDieleLegsTagged = 0;
for(Int_t idie=0;idie<fReducedEvent->NDielectrons();++idie) {
AliReducedPair* pair = fReducedEvent->GetDielectronPair(idie);
leg1Found[0]=kFALSE; leg2Found[0]=kFALSE;
for(Int_t it=0; it<nDieleLegsTagged; ++it) {
if(trackIdsDiele[it]==pair->fLegIds[0]) leg1Found[0]=kTRUE;
if(trackIdsDiele[it]==pair->fLegIds[1]) leg2Found[0]=kTRUE;
}
if(!leg1Found[0]) {trackIdsDiele[nDieleLegsTagged] = pair->fLegIds[0]; ++nDieleLegsTagged;}
if(!leg2Found[0]) {trackIdsDiele[nDieleLegsTagged] = pair->fLegIds[1]; ++nDieleLegsTagged;}
}
AliESDtrack* esdTrack=0;
AliAODTrack* aodTrack=0;
Int_t ntracks=event->GetNumberOfTracks();
Int_t trackId = 0;
Bool_t usedForV0[4] = {kFALSE};
Bool_t usedForPureV0[4] = {kFALSE};
Bool_t usedForV0Or = kFALSE;
Bool_t usedForDielectron = kFALSE;
for(Int_t itrack=0; itrack<ntracks; ++itrack){
AliVParticle *particle=event->GetTrack(itrack);
if(isESD) {
esdTrack=static_cast<AliESDtrack*>(particle);
trackId = esdTrack->GetID();
}
if(isAOD) {
aodTrack=static_cast<AliAODTrack*>(particle);
trackId = aodTrack->GetID();
}
usedForV0Or = kFALSE;
for(Int_t i=0; i<4; ++i) {
usedForV0[i] = kFALSE;
for(Int_t ii=0; ii<nV0LegsTagged[i]; ++ii) {
if(UShort_t(trackId)==trackIdsV0[i][ii]) {
usedForV0[i] = kTRUE;
break;
}
}
usedForV0Or = usedForV0Or || usedForV0[i];
usedForPureV0[i] = kFALSE;
for(Int_t ii=0; ii<nPureV0LegsTagged[i]; ++ii) {
if(UShort_t(trackId)==trackIdsPureV0[i][ii]) {
usedForPureV0[i] = kTRUE;
break;
}
}
}
usedForDielectron = kFALSE;
for(Int_t ii=0; ii<nDieleLegsTagged; ++ii) {
if(UShort_t(trackId)==trackIdsDiele[ii]) {
usedForDielectron = kTRUE;
break;
}
}
ULong_t status = (isESD ? esdTrack->GetStatus() : aodTrack->GetStatus());
for(Int_t ibit=0; ibit<32; ++ibit) {
if(status & (ULong_t(1)<<ibit)) {
fReducedEvent->fNtracksPerTrackingFlag[ibit] += 1;
}
}
if(!usedForV0Or && !usedForDielectron && fTrackFilter && !fTrackFilter->IsSelected(particle)) continue;
TClonesArray& tracks = *(fReducedEvent->fTracks);
AliReducedTrack *reducedParticle=new(tracks[fReducedEvent->fNtracks[1]]) AliReducedTrack();
Double_t values[AliDielectronVarManager::kNMaxValues];
AliDielectronVarManager::Fill(particle, values);
reducedParticle->fStatus = status;
reducedParticle->fGlobalPhi = values[AliDielectronVarManager::kPhi];
reducedParticle->fGlobalPt = values[AliDielectronVarManager::kPt]*values[AliDielectronVarManager::kCharge];
reducedParticle->fGlobalEta = values[AliDielectronVarManager::kEta];
reducedParticle->fMomentumInner = values[AliDielectronVarManager::kPIn];
reducedParticle->fDCA[0] = values[AliDielectronVarManager::kImpactParXY];
reducedParticle->fDCA[1] = values[AliDielectronVarManager::kImpactParZ];
reducedParticle->fTrackLength = values[AliDielectronVarManager::kTrackLength];
reducedParticle->fITSclusterMap = (UChar_t)values[AliDielectronVarManager::kITSclusterMap];
reducedParticle->fITSsignal = values[AliDielectronVarManager::kITSsignal];
reducedParticle->fITSnSig[0] = values[AliDielectronVarManager::kITSnSigmaEle];
reducedParticle->fITSnSig[1] = values[AliDielectronVarManager::kITSnSigmaPio];
reducedParticle->fITSnSig[2] = values[AliDielectronVarManager::kITSnSigmaKao];
reducedParticle->fITSnSig[3] = values[AliDielectronVarManager::kITSnSigmaPro];
reducedParticle->fITSchi2 = values[AliDielectronVarManager::kITSchi2Cl];
reducedParticle->fTPCNcls = (UChar_t)values[AliDielectronVarManager::kNclsTPC];
reducedParticle->fTPCNclsF = (UChar_t)values[AliDielectronVarManager::kNFclsTPC];
reducedParticle->fTPCNclsIter1 = (UChar_t)values[AliDielectronVarManager::kNclsTPCiter1];
reducedParticle->fTPCsignal = values[AliDielectronVarManager::kTPCsignal];
reducedParticle->fTPCsignalN = values[AliDielectronVarManager::kTPCsignalN];
reducedParticle->fTPCnSig[0] = values[AliDielectronVarManager::kTPCnSigmaEle];
reducedParticle->fTPCnSig[1] = values[AliDielectronVarManager::kTPCnSigmaPio];
reducedParticle->fTPCnSig[2] = values[AliDielectronVarManager::kTPCnSigmaKao];
reducedParticle->fTPCnSig[3] = values[AliDielectronVarManager::kTPCnSigmaPro];
reducedParticle->fTPCClusterMap = EncodeTPCClusterMap(particle, isAOD);
reducedParticle->fTPCchi2 = values[AliDielectronVarManager::kTPCchi2Cl];
reducedParticle->fTOFbeta = values[AliDielectronVarManager::kTOFbeta];
reducedParticle->fTOFnSig[0] = values[AliDielectronVarManager::kTOFnSigmaEle];
reducedParticle->fTOFnSig[1] = values[AliDielectronVarManager::kTOFnSigmaPio];
reducedParticle->fTOFnSig[2] = values[AliDielectronVarManager::kTOFnSigmaKao];
reducedParticle->fTOFnSig[3] = values[AliDielectronVarManager::kTOFnSigmaPro];
Double_t trdProbab[AliPID::kSPECIES]={0.0};
if(fFlowTrackFilter) {
if(fFlowTrackFilter->IsSelected(particle)) reducedParticle->fFlags |= (UShort_t(1)<<0);
}
for(Int_t iV0type=0;iV0type<4;++iV0type) {
if(usedForV0[iV0type]) reducedParticle->fFlags |= (UShort_t(1)<<(iV0type+1));
if(usedForPureV0[iV0type]) reducedParticle->fFlags |= (UShort_t(1)<<(iV0type+8));
}
if(isESD){
reducedParticle->fTrackId = (UShort_t)esdTrack->GetID();
reducedParticle->fTPCCrossedRows = (UChar_t)esdTrack->GetTPCCrossedRows();
const AliExternalTrackParam* tpcInner = esdTrack->GetInnerParam();
reducedParticle->fTPCPhi = (tpcInner ? tpcInner->Phi() : 0.0);
reducedParticle->fTPCPt = (tpcInner ? tpcInner->Pt() : 0.0);
reducedParticle->fTPCEta = (tpcInner ? tpcInner->Eta() : 0.0);
reducedParticle->fTOFdeltaBC = esdTrack->GetTOFDeltaBC();
reducedParticle->fTRDntracklets[0] = esdTrack->GetTRDntracklets();
reducedParticle->fTRDntracklets[1] = esdTrack->GetTRDntrackletsPID();
pidResponse->ComputeTRDProbability(esdTrack,AliPID::kSPECIES,trdProbab,AliTRDPIDResponse::kLQ1D);
reducedParticle->fTRDpid[0] = trdProbab[AliPID::kElectron];
reducedParticle->fTRDpid[1] = trdProbab[AliPID::kPion];
pidResponse->ComputeTRDProbability(esdTrack,AliPID::kSPECIES,trdProbab,AliTRDPIDResponse::kLQ2D);
reducedParticle->fTRDpidLQ2D[0] = trdProbab[AliPID::kElectron];
reducedParticle->fTRDpidLQ2D[1] = trdProbab[AliPID::kPion];
for(Int_t idx=0; idx<3; ++idx) if(esdTrack->GetKinkIndex(idx)>0) reducedParticle->fFlags |= (1<<(5+idx));
if(esdTrack->IsEMCAL()) reducedParticle->fCaloClusterId = esdTrack->GetEMCALcluster();
if(esdTrack->IsPHOS()) reducedParticle->fCaloClusterId = esdTrack->GetPHOScluster();
}
if(isAOD) {
const AliExternalTrackParam* tpcInner = aodTrack->GetInnerParam();
reducedParticle->fTPCPhi = (tpcInner ? tpcInner->Phi() : 0.0);
reducedParticle->fTPCPt = (tpcInner ? tpcInner->Pt() : 0.0);
reducedParticle->fTPCEta = (tpcInner ? tpcInner->Eta() : 0.0);
reducedParticle->fTrackId = aodTrack->GetID();
reducedParticle->fITSsignal = aodTrack->GetITSsignal();
if(pidResponse) {
reducedParticle->fITSnSig[0] = pidResponse->NumberOfSigmasITS(aodTrack,AliPID::kElectron);
reducedParticle->fITSnSig[1] = pidResponse->NumberOfSigmasITS(aodTrack,AliPID::kPion);
reducedParticle->fITSnSig[2] = pidResponse->NumberOfSigmasITS(aodTrack,AliPID::kKaon);
reducedParticle->fITSnSig[3] = pidResponse->NumberOfSigmasITS(aodTrack,AliPID::kProton);
}
reducedParticle->fTRDntracklets[0] = aodTrack->GetTRDntrackletsPID();
reducedParticle->fTRDntracklets[1] = aodTrack->GetTRDntrackletsPID();
pidResponse->ComputeTRDProbability(aodTrack,AliPID::kSPECIES,trdProbab,AliTRDPIDResponse::kLQ1D);
reducedParticle->fTRDpid[0] = trdProbab[AliPID::kElectron];
reducedParticle->fTRDpid[1] = trdProbab[AliPID::kPion];
pidResponse->ComputeTRDProbability(aodTrack,AliPID::kSPECIES,trdProbab,AliTRDPIDResponse::kLQ2D);
reducedParticle->fTRDpidLQ2D[0] = trdProbab[AliPID::kElectron];
reducedParticle->fTRDpidLQ2D[1] = trdProbab[AliPID::kPion];
if(aodTrack->IsEMCAL()) reducedParticle->fCaloClusterId = aodTrack->GetEMCALcluster();
if(aodTrack->IsPHOS()) reducedParticle->fCaloClusterId = aodTrack->GetPHOScluster();
if(values[AliDielectronVarManager::kKinkIndex0]>0.0) reducedParticle->fFlags |= (1<<5);
}
fReducedEvent->fNtracks[1] += 1;
}
}
void AliAnalysisTaskReducedTree::FillDielectronPairInfo(AliDielectron* die, Short_t iDie)
{
Bool_t hasMC=AliDielectronMC::Instance()->HasMC();
for(Int_t iType=0; iType<3; ++iType) {
const TObjArray* array = die->GetPairArray(iType);
if(!array || array->GetEntriesFast()==0) continue;
for(Int_t iCandidate=0; iCandidate<array->GetEntriesFast(); ++iCandidate) {
AliDielectronPair* pair = (AliDielectronPair*)array->At(iCandidate);
Double_t values[AliDielectronVarManager::kNMaxValues];
AliDielectronVarManager::Fill(pair, values);
TClonesArray& tracks = *(fReducedEvent->fCandidates);
AliReducedPair *reducedParticle=
new (tracks[fReducedEvent->fNV0candidates[1]+fReducedEvent->fNDielectronCandidates]) AliReducedPair();
reducedParticle->fCandidateId = (iDie==0 ? AliReducedPair::kJpsiToEE : AliReducedPair::kPhiToKK);
reducedParticle->fPairType = (Char_t)values[AliDielectronVarManager::kPairType];
reducedParticle->fLegIds[0] = (UShort_t)(static_cast<AliVTrack*>(pair->GetFirstDaughterP()))->GetID();
reducedParticle->fLegIds[1] = (UShort_t)(static_cast<AliVTrack*>(pair->GetSecondDaughterP()))->GetID();
reducedParticle->fMass[0] = values[AliDielectronVarManager::kM];
reducedParticle->fMass[1] = -999.;
reducedParticle->fMass[2] = -999.;
reducedParticle->fMass[3] = -999.;
reducedParticle->fPhi = values[AliDielectronVarManager::kPhi];
if(reducedParticle->fPhi<0.0) reducedParticle->fPhi = 2.0*TMath::Pi() + reducedParticle->fPhi;
reducedParticle->fPt = values[AliDielectronVarManager::kPt];
reducedParticle->fEta = values[AliDielectronVarManager::kEta];
reducedParticle->fLxy = values[AliDielectronVarManager::kPseudoProperTime];
reducedParticle->fLxyErr = values[AliDielectronVarManager::kPseudoProperTimeErr];
reducedParticle->fPointingAngle = values[AliDielectronVarManager::kCosPointingAngle];
reducedParticle->fMCid = 0;
if(hasMC) {
AliDielectronMC::Instance()->ConnectMCEvent();
const TObjArray* mcSignals = die->GetMCSignals();
for(Int_t iSig=0; iSig<mcSignals->GetEntries(); ++iSig) {
if(iSig>31) break;
AliDielectronMC *mc=AliDielectronMC::Instance();
if(mc->IsMCTruth(pair, (AliDielectronSignalMC*)mcSignals->At(iSig))) {
reducedParticle->fMCid = reducedParticle->fMCid | (1<<iSig);
}
}
}
fReducedEvent->fNDielectronCandidates += 1;
}
}
}
void AliAnalysisTaskReducedTree::FillV0PairInfo()
{
AliESDEvent* esd = (AliESDEvent*)InputEvent();
const AliESDVertex *primaryVertex = esd->GetPrimaryVertex();
AliKFVertex primaryVertexKF(*primaryVertex);
fReducedEvent->fNV0candidates[0] = InputEvent()->GetNumberOfV0s();
if(!(fFillK0s || fFillLambda || fFillALambda || fFillGammaConversions)) return;
Double_t valuesPos[AliDielectronVarManager::kNMaxValues];
Double_t valuesNeg[AliDielectronVarManager::kNMaxValues];
if(fV0OpenCuts) {
fV0OpenCuts->SetEvent(esd);
fV0OpenCuts->SetPrimaryVertex(&primaryVertexKF);
}
if(fV0StrongCuts) {
fV0StrongCuts->SetEvent(esd);
fV0StrongCuts->SetPrimaryVertex(&primaryVertexKF);
}
Int_t pdgV0=0; Int_t pdgP=0; Int_t pdgN=0;
for(Int_t iV0=0; iV0<InputEvent()->GetNumberOfV0s(); ++iV0) {
AliESDv0 *v0 = esd->GetV0(iV0);
AliESDtrack* legPos = esd->GetTrack(v0->GetPindex());
AliESDtrack* legNeg = esd->GetTrack(v0->GetNindex());
if(legPos->GetSign() == legNeg->GetSign()) {
continue;
}
Bool_t v0ChargesAreCorrect = (legPos->GetSign()==+1 ? kTRUE : kFALSE);
legPos = (!v0ChargesAreCorrect ? esd->GetTrack(v0->GetNindex()) : legPos);
legNeg = (!v0ChargesAreCorrect ? esd->GetTrack(v0->GetPindex()) : legNeg);
pdgV0=0; pdgP=0; pdgN=0;
Bool_t goodK0s = kTRUE; Bool_t goodLambda = kTRUE; Bool_t goodALambda = kTRUE; Bool_t goodGamma = kTRUE;
if(fV0OpenCuts) {
goodK0s = kFALSE; goodLambda = kFALSE; goodALambda = kFALSE; goodGamma = kFALSE;
Bool_t processV0 = fV0OpenCuts->ProcessV0(v0, pdgV0, pdgP, pdgN);
if(processV0 && TMath::Abs(pdgV0)==310 && TMath::Abs(pdgP)==211 && TMath::Abs(pdgN)==211) {
goodK0s = kTRUE;
if(fK0sPionCuts && (!fK0sPionCuts->IsSelected(legPos) || !fK0sPionCuts->IsSelected(legNeg))) goodK0s = kFALSE;
}
if(processV0 && pdgV0==3122 && (TMath::Abs(pdgP)==211 || TMath::Abs(pdgP)==2212) && (TMath::Abs(pdgN)==211 || TMath::Abs(pdgN)==2212)) {
goodLambda = kTRUE;
if(fLambdaProtonCuts && !fLambdaProtonCuts->IsSelected(legPos)) goodLambda = kFALSE;
if(fLambdaPionCuts && !fLambdaPionCuts->IsSelected(legNeg)) goodLambda = kFALSE;
}
if(processV0 && pdgV0==-3122 && (TMath::Abs(pdgP)==211 || TMath::Abs(pdgP)==2212) && (TMath::Abs(pdgN)==211 || TMath::Abs(pdgN)==2212)) {
goodALambda = kTRUE;
if(fLambdaProtonCuts && !fLambdaProtonCuts->IsSelected(legNeg)) goodALambda = kFALSE;
if(fLambdaPionCuts && !fLambdaPionCuts->IsSelected(legPos)) goodALambda = kFALSE;
}
if(processV0 && TMath::Abs(pdgV0)==22 && TMath::Abs(pdgP)==11 && TMath::Abs(pdgN)==11) {
goodGamma = kTRUE;
if(fGammaElectronCuts && (!fGammaElectronCuts->IsSelected(legPos) || !fGammaElectronCuts->IsSelected(legNeg))) goodGamma = kFALSE;
}
}
Bool_t veryGoodK0s = kFALSE; Bool_t veryGoodLambda = kFALSE; Bool_t veryGoodALambda = kFALSE; Bool_t veryGoodGamma = kFALSE;
if(fV0StrongCuts && (goodK0s || goodLambda || goodALambda || goodGamma)) {
pdgV0=0; pdgP=0; pdgN=0;
Bool_t processV0 = fV0StrongCuts->ProcessV0(v0, pdgV0, pdgP, pdgN);
if(processV0 && goodK0s && TMath::Abs(pdgV0)==310 && TMath::Abs(pdgP)==211 && TMath::Abs(pdgN)==211)
veryGoodK0s = kTRUE;
if(processV0 && goodLambda && pdgV0==3122 && (TMath::Abs(pdgP)==211 || TMath::Abs(pdgP)==2212) && (TMath::Abs(pdgN)==211 || TMath::Abs(pdgN)==2212))
veryGoodLambda = kTRUE;
if(processV0 && goodALambda && pdgV0==-3122 && (TMath::Abs(pdgP)==211 || TMath::Abs(pdgP)==2212) && (TMath::Abs(pdgN)==211 || TMath::Abs(pdgN)==2212))
veryGoodALambda = kTRUE;
if(processV0 && goodGamma && TMath::Abs(pdgV0)==22 && TMath::Abs(pdgP)==11 && TMath::Abs(pdgN)==11)
veryGoodGamma = kTRUE;
}
if(!((goodK0s && fFillK0s) ||
(goodLambda && fFillLambda) ||
(goodALambda && fFillALambda) ||
(goodGamma && fFillGammaConversions))) continue;
AliReducedPair* k0sReducedPair = FillV0PairInfo(v0, AliReducedPair::kK0sToPiPi, legPos, legNeg, &primaryVertexKF, v0ChargesAreCorrect);
AliReducedPair* lambdaReducedPair = FillV0PairInfo(v0, AliReducedPair::kLambda0ToPPi, legPos, legNeg, &primaryVertexKF, v0ChargesAreCorrect);
AliReducedPair* alambdaReducedPair = FillV0PairInfo(v0, AliReducedPair::kALambda0ToPPi, legPos, legNeg, &primaryVertexKF, v0ChargesAreCorrect);
AliReducedPair* gammaReducedPair = FillV0PairInfo(v0, AliReducedPair::kGammaConv, legPos, legNeg, &primaryVertexKF, v0ChargesAreCorrect);
if(fFillK0s && goodK0s && k0sReducedPair->fMass[0]>fK0sMassRange[0] && k0sReducedPair->fMass[0]<fK0sMassRange[1]) {
TClonesArray& tracks = *(fReducedEvent->fCandidates);
AliReducedPair *goodK0sPair = new (tracks[fReducedEvent->fNV0candidates[1]]) AliReducedPair(*k0sReducedPair);
goodK0sPair->fMass[0] = k0sReducedPair->fMass[0];
goodK0sPair->fMass[1] = lambdaReducedPair->fMass[0];
goodK0sPair->fMass[2] = alambdaReducedPair->fMass[0];
goodK0sPair->fMass[3] = gammaReducedPair->fMass[0];
if(veryGoodK0s) goodK0sPair->fMCid |= (UInt_t(1)<<1);
fReducedEvent->fNV0candidates[1] += 1;
} else {goodK0s=kFALSE;}
if(fFillLambda && goodLambda && lambdaReducedPair->fMass[0]>fLambdaMassRange[0] && lambdaReducedPair->fMass[0]<fLambdaMassRange[1]) {
TClonesArray& tracks = *(fReducedEvent->fCandidates);
AliReducedPair *goodLambdaPair = new (tracks[fReducedEvent->fNV0candidates[1]]) AliReducedPair(*lambdaReducedPair);
goodLambdaPair->fMass[0] = k0sReducedPair->fMass[0];
goodLambdaPair->fMass[1] = lambdaReducedPair->fMass[0];
goodLambdaPair->fMass[2] = alambdaReducedPair->fMass[0];
goodLambdaPair->fMass[3] = gammaReducedPair->fMass[0];
if(veryGoodLambda) goodLambdaPair->fMCid |= (UInt_t(1)<<2);
fReducedEvent->fNV0candidates[1] += 1;
} else {goodLambda=kFALSE;}
if(fFillALambda && goodALambda && alambdaReducedPair->fMass[0]>fLambdaMassRange[0] && alambdaReducedPair->fMass[0]<fLambdaMassRange[1]) {
TClonesArray& tracks = *(fReducedEvent->fCandidates);
AliReducedPair *goodALambdaPair = new (tracks[fReducedEvent->fNV0candidates[1]]) AliReducedPair(*alambdaReducedPair);
goodALambdaPair->fMass[0] = k0sReducedPair->fMass[0];
goodALambdaPair->fMass[1] = lambdaReducedPair->fMass[0];
goodALambdaPair->fMass[2] = alambdaReducedPair->fMass[0];
goodALambdaPair->fMass[3] = gammaReducedPair->fMass[0];
if(veryGoodALambda) goodALambdaPair->fMCid |= (UInt_t(1)<<3);
fReducedEvent->fNV0candidates[1] += 1;
} else {goodALambda = kFALSE;}
if(fFillGammaConversions && goodGamma && gammaReducedPair->fMass[0]>fGammaMassRange[0] && gammaReducedPair->fMass[0]<fGammaMassRange[1]) {
TClonesArray& tracks = *(fReducedEvent->fCandidates);
AliReducedPair *goodGammaPair = new (tracks[fReducedEvent->fNV0candidates[1]]) AliReducedPair(*gammaReducedPair);
goodGammaPair->fMass[0] = k0sReducedPair->fMass[0];
goodGammaPair->fMass[1] = lambdaReducedPair->fMass[0];
goodGammaPair->fMass[2] = alambdaReducedPair->fMass[0];
goodGammaPair->fMass[3] = gammaReducedPair->fMass[0];
if(veryGoodGamma) goodGammaPair->fMCid |= (UInt_t(1)<<4);
fReducedEvent->fNV0candidates[1] += 1;
} else {goodGamma=kFALSE;}
delete k0sReducedPair;
delete lambdaReducedPair;
delete alambdaReducedPair;
delete gammaReducedPair;
if(!(goodK0s || goodLambda || goodALambda || goodGamma)) continue;
AliDielectronVarManager::Fill(legPos, valuesPos);
AliDielectronVarManager::Fill(legNeg, valuesNeg);
if(fV0Histos && fV0Histos->GetHistogramList()->FindObject("V0Track_Pos"))
fV0Histos->FillClass("V0Track_Pos", AliDielectronVarManager::kNMaxValues, valuesPos);
if(fV0Histos && fV0Histos->GetHistogramList()->FindObject("V0Track_Neg"))
fV0Histos->FillClass("V0Track_Neg", AliDielectronVarManager::kNMaxValues, valuesNeg);
}
}
AliReducedPair* AliAnalysisTaskReducedTree::FillV0PairInfo(AliESDv0* v0, Int_t id,
AliESDtrack* legPos, AliESDtrack* legNeg,
AliKFVertex* vtxKF, Bool_t chargesAreCorrect) {
AliReducedPair* reducedPair=new AliReducedPair();
reducedPair->fCandidateId = id;
reducedPair->fPairType = v0->GetOnFlyStatus();
reducedPair->fLegIds[0] = legPos->GetID();
reducedPair->fLegIds[1] = legNeg->GetID();
if(!reducedPair->fPairType) {
UInt_t pidPos = AliPID::kPion;
if(id==AliReducedPair::kLambda0ToPPi) pidPos = AliPID::kProton;
if(id==AliReducedPair::kGammaConv) pidPos = AliPID::kElectron;
UInt_t pidNeg = AliPID::kPion;
if(id==AliReducedPair::kALambda0ToPPi) pidNeg = AliPID::kProton;
if(id==AliReducedPair::kGammaConv) pidNeg = AliPID::kElectron;
reducedPair->fMass[0] = v0->GetEffMass(pidPos, pidNeg);
reducedPair->fPhi = v0->Phi();
if(reducedPair->fPhi<0.0) reducedPair->fPhi = 2.0*TMath::Pi() + reducedPair->fPhi;
reducedPair->fPt = v0->Pt();
reducedPair->fEta = v0->Eta();
reducedPair->fLxy = v0->GetRr();
reducedPair->fPointingAngle = v0->GetV0CosineOfPointingAngle(vtxKF->GetX(), vtxKF->GetY(), vtxKF->GetZ());
reducedPair->fChisquare = v0->GetChi2V0();
}
else {
const AliExternalTrackParam *negHelix=v0->GetParamN();
const AliExternalTrackParam *posHelix=v0->GetParamP();
if(!chargesAreCorrect) {
negHelix = v0->GetParamP();
posHelix = v0->GetParamN();
}
Int_t pdgPos = 211;
if(id==AliReducedPair::kLambda0ToPPi) pdgPos = 2212;
if(id==AliReducedPair::kGammaConv) pdgPos = -11;
Int_t pdgNeg = -211;
if(id==AliReducedPair::kALambda0ToPPi) pdgNeg = -2212;
if(id==AliReducedPair::kGammaConv) pdgNeg = 11;
AliKFParticle negKF(*(negHelix), pdgPos);
AliKFParticle posKF(*(posHelix), pdgNeg);
AliKFParticle v0Refit;
v0Refit += negKF;
v0Refit += posKF;
Double_t massFit=0.0, massErrFit=0.0;
v0Refit.GetMass(massFit,massErrFit);
reducedPair->fMass[0] = massFit;
reducedPair->fPhi = v0Refit.GetPhi();
if(reducedPair->fPhi<0.0) reducedPair->fPhi = 2.0*TMath::Pi() + reducedPair->fPhi;
reducedPair->fPt = v0Refit.GetPt();
reducedPair->fEta = v0Refit.GetEta();
reducedPair->fLxy = v0Refit.GetPseudoProperDecayTime(*vtxKF, massFit);
Double_t deltaPos[3];
deltaPos[0] = v0Refit.GetX() - vtxKF->GetX(); deltaPos[1] = v0Refit.GetY() - vtxKF->GetY(); deltaPos[2] = v0Refit.GetZ() - vtxKF->GetZ();
Double_t momV02 = v0Refit.GetPx()*v0Refit.GetPx() + v0Refit.GetPy()*v0Refit.GetPy() + v0Refit.GetPz()*v0Refit.GetPz();
Double_t deltaPos2 = deltaPos[0]*deltaPos[0] + deltaPos[1]*deltaPos[1] + deltaPos[2]*deltaPos[2];
reducedPair->fPointingAngle = (deltaPos[0]*v0Refit.GetPx() + deltaPos[1]*v0Refit.GetPy() + deltaPos[2]*v0Refit.GetPz()) /
TMath::Sqrt(momV02*deltaPos2);
reducedPair->fChisquare = v0Refit.GetChi2();
}
return reducedPair;
}
UChar_t AliAnalysisTaskReducedTree::EncodeTPCClusterMap(AliVParticle* track, Bool_t isAOD) {
AliESDtrack* esdTrack=0x0;
AliAODTrack* aodTrack=0x0;
if(isAOD)
aodTrack=static_cast<AliAODTrack*>(track);
else
esdTrack=static_cast<AliESDtrack*>(track);
const UChar_t threshold=5;
TBits tpcClusterMap = (isAOD ? aodTrack->GetTPCClusterMap() : esdTrack->GetTPCClusterMap());
UChar_t map=0;
UChar_t n=0;
UChar_t j=0;
for(UChar_t i=0; i<8; ++i) {
n=0;
for(j=i*20; j<(i+1)*20 && j<159; ++j) n+=tpcClusterMap.TestBitNumber(j);
if(n>=threshold) map |= (1<<i);
}
return map;
}
Int_t AliAnalysisTaskReducedTree::GetSPDTrackletMultiplicity(AliVEvent* event, Float_t lowEta, Float_t highEta) {
if (!event) return -1;
Int_t nTracklets = 0;
Int_t nAcc = 0;
if(event->IsA() == AliAODEvent::Class()) {
AliAODTracklets *tracklets = ((AliAODEvent*)event)->GetTracklets();
nTracklets = tracklets->GetNumberOfTracklets();
for(Int_t nn=0; nn<nTracklets; ++nn) {
Double_t theta = tracklets->GetTheta(nn);
Double_t eta = -TMath::Log(TMath::Tan(theta/2.0));
if(eta < lowEta) continue;
if(eta > highEta) continue;
++nAcc;
}
} else if(event->IsA() == AliESDEvent::Class()) {
nTracklets = ((AliESDEvent*)event)->GetMultiplicity()->GetNumberOfTracklets();
for(Int_t nn=0; nn<nTracklets; ++nn) {
Double_t eta = ((AliESDEvent*)event)->GetMultiplicity()->GetEta(nn);
if(eta < lowEta) continue;
if(eta > highEta) continue;
++nAcc;
}
} else return -1;
return nAcc;
}
void AliAnalysisTaskReducedTree::FinishTaskOutput()
{
}
AliAnalysisTaskReducedTree.cxx:1 AliAnalysisTaskReducedTree.cxx:2 AliAnalysisTaskReducedTree.cxx:3 AliAnalysisTaskReducedTree.cxx:4 AliAnalysisTaskReducedTree.cxx:5 AliAnalysisTaskReducedTree.cxx:6 AliAnalysisTaskReducedTree.cxx:7 AliAnalysisTaskReducedTree.cxx:8 AliAnalysisTaskReducedTree.cxx:9 AliAnalysisTaskReducedTree.cxx:10 AliAnalysisTaskReducedTree.cxx:11 AliAnalysisTaskReducedTree.cxx:12 AliAnalysisTaskReducedTree.cxx:13 AliAnalysisTaskReducedTree.cxx:14 AliAnalysisTaskReducedTree.cxx:15 AliAnalysisTaskReducedTree.cxx:16 AliAnalysisTaskReducedTree.cxx:17 AliAnalysisTaskReducedTree.cxx:18 AliAnalysisTaskReducedTree.cxx:19 AliAnalysisTaskReducedTree.cxx:20 AliAnalysisTaskReducedTree.cxx:21 AliAnalysisTaskReducedTree.cxx:22 AliAnalysisTaskReducedTree.cxx:23 AliAnalysisTaskReducedTree.cxx:24 AliAnalysisTaskReducedTree.cxx:25 AliAnalysisTaskReducedTree.cxx:26 AliAnalysisTaskReducedTree.cxx:27 AliAnalysisTaskReducedTree.cxx:28 AliAnalysisTaskReducedTree.cxx:29 AliAnalysisTaskReducedTree.cxx:30 AliAnalysisTaskReducedTree.cxx:31 AliAnalysisTaskReducedTree.cxx:32 AliAnalysisTaskReducedTree.cxx:33 AliAnalysisTaskReducedTree.cxx:34 AliAnalysisTaskReducedTree.cxx:35 AliAnalysisTaskReducedTree.cxx:36 AliAnalysisTaskReducedTree.cxx:37 AliAnalysisTaskReducedTree.cxx:38 AliAnalysisTaskReducedTree.cxx:39 AliAnalysisTaskReducedTree.cxx:40 AliAnalysisTaskReducedTree.cxx:41 AliAnalysisTaskReducedTree.cxx:42 AliAnalysisTaskReducedTree.cxx:43 AliAnalysisTaskReducedTree.cxx:44 AliAnalysisTaskReducedTree.cxx:45 AliAnalysisTaskReducedTree.cxx:46 AliAnalysisTaskReducedTree.cxx:47 AliAnalysisTaskReducedTree.cxx:48 AliAnalysisTaskReducedTree.cxx:49 AliAnalysisTaskReducedTree.cxx:50 AliAnalysisTaskReducedTree.cxx:51 AliAnalysisTaskReducedTree.cxx:52 AliAnalysisTaskReducedTree.cxx:53 AliAnalysisTaskReducedTree.cxx:54 AliAnalysisTaskReducedTree.cxx:55 AliAnalysisTaskReducedTree.cxx:56 AliAnalysisTaskReducedTree.cxx:57 AliAnalysisTaskReducedTree.cxx:58 AliAnalysisTaskReducedTree.cxx:59 AliAnalysisTaskReducedTree.cxx:60 AliAnalysisTaskReducedTree.cxx:61 AliAnalysisTaskReducedTree.cxx:62 AliAnalysisTaskReducedTree.cxx:63 AliAnalysisTaskReducedTree.cxx:64 AliAnalysisTaskReducedTree.cxx:65 AliAnalysisTaskReducedTree.cxx:66 AliAnalysisTaskReducedTree.cxx:67 AliAnalysisTaskReducedTree.cxx:68 AliAnalysisTaskReducedTree.cxx:69 AliAnalysisTaskReducedTree.cxx:70 AliAnalysisTaskReducedTree.cxx:71 AliAnalysisTaskReducedTree.cxx:72 AliAnalysisTaskReducedTree.cxx:73 AliAnalysisTaskReducedTree.cxx:74 AliAnalysisTaskReducedTree.cxx:75 AliAnalysisTaskReducedTree.cxx:76 AliAnalysisTaskReducedTree.cxx:77 AliAnalysisTaskReducedTree.cxx:78 AliAnalysisTaskReducedTree.cxx:79 AliAnalysisTaskReducedTree.cxx:80 AliAnalysisTaskReducedTree.cxx:81 AliAnalysisTaskReducedTree.cxx:82 AliAnalysisTaskReducedTree.cxx:83 AliAnalysisTaskReducedTree.cxx:84 AliAnalysisTaskReducedTree.cxx:85 AliAnalysisTaskReducedTree.cxx:86 AliAnalysisTaskReducedTree.cxx:87 AliAnalysisTaskReducedTree.cxx:88 AliAnalysisTaskReducedTree.cxx:89 AliAnalysisTaskReducedTree.cxx:90 AliAnalysisTaskReducedTree.cxx:91 AliAnalysisTaskReducedTree.cxx:92 AliAnalysisTaskReducedTree.cxx:93 AliAnalysisTaskReducedTree.cxx:94 AliAnalysisTaskReducedTree.cxx:95 AliAnalysisTaskReducedTree.cxx:96 AliAnalysisTaskReducedTree.cxx:97 AliAnalysisTaskReducedTree.cxx:98 AliAnalysisTaskReducedTree.cxx:99 AliAnalysisTaskReducedTree.cxx:100 AliAnalysisTaskReducedTree.cxx:101 AliAnalysisTaskReducedTree.cxx:102 AliAnalysisTaskReducedTree.cxx:103 AliAnalysisTaskReducedTree.cxx:104 AliAnalysisTaskReducedTree.cxx:105 AliAnalysisTaskReducedTree.cxx:106 AliAnalysisTaskReducedTree.cxx:107 AliAnalysisTaskReducedTree.cxx:108 AliAnalysisTaskReducedTree.cxx:109 AliAnalysisTaskReducedTree.cxx:110 AliAnalysisTaskReducedTree.cxx:111 AliAnalysisTaskReducedTree.cxx:112 AliAnalysisTaskReducedTree.cxx:113 AliAnalysisTaskReducedTree.cxx:114 AliAnalysisTaskReducedTree.cxx:115 AliAnalysisTaskReducedTree.cxx:116 AliAnalysisTaskReducedTree.cxx:117 AliAnalysisTaskReducedTree.cxx:118 AliAnalysisTaskReducedTree.cxx:119 AliAnalysisTaskReducedTree.cxx:120 AliAnalysisTaskReducedTree.cxx:121 AliAnalysisTaskReducedTree.cxx:122 AliAnalysisTaskReducedTree.cxx:123 AliAnalysisTaskReducedTree.cxx:124 AliAnalysisTaskReducedTree.cxx:125 AliAnalysisTaskReducedTree.cxx:126 AliAnalysisTaskReducedTree.cxx:127 AliAnalysisTaskReducedTree.cxx:128 AliAnalysisTaskReducedTree.cxx:129 AliAnalysisTaskReducedTree.cxx:130 AliAnalysisTaskReducedTree.cxx:131 AliAnalysisTaskReducedTree.cxx:132 AliAnalysisTaskReducedTree.cxx:133 AliAnalysisTaskReducedTree.cxx:134 AliAnalysisTaskReducedTree.cxx:135 AliAnalysisTaskReducedTree.cxx:136 AliAnalysisTaskReducedTree.cxx:137 AliAnalysisTaskReducedTree.cxx:138 AliAnalysisTaskReducedTree.cxx:139 AliAnalysisTaskReducedTree.cxx:140 AliAnalysisTaskReducedTree.cxx:141 AliAnalysisTaskReducedTree.cxx:142 AliAnalysisTaskReducedTree.cxx:143 AliAnalysisTaskReducedTree.cxx:144 AliAnalysisTaskReducedTree.cxx:145 AliAnalysisTaskReducedTree.cxx:146 AliAnalysisTaskReducedTree.cxx:147 AliAnalysisTaskReducedTree.cxx:148 AliAnalysisTaskReducedTree.cxx:149 AliAnalysisTaskReducedTree.cxx:150 AliAnalysisTaskReducedTree.cxx:151 AliAnalysisTaskReducedTree.cxx:152 AliAnalysisTaskReducedTree.cxx:153 AliAnalysisTaskReducedTree.cxx:154 AliAnalysisTaskReducedTree.cxx:155 AliAnalysisTaskReducedTree.cxx:156 AliAnalysisTaskReducedTree.cxx:157 AliAnalysisTaskReducedTree.cxx:158 AliAnalysisTaskReducedTree.cxx:159 AliAnalysisTaskReducedTree.cxx:160 AliAnalysisTaskReducedTree.cxx:161 AliAnalysisTaskReducedTree.cxx:162 AliAnalysisTaskReducedTree.cxx:163 AliAnalysisTaskReducedTree.cxx:164 AliAnalysisTaskReducedTree.cxx:165 AliAnalysisTaskReducedTree.cxx:166 AliAnalysisTaskReducedTree.cxx:167 AliAnalysisTaskReducedTree.cxx:168 AliAnalysisTaskReducedTree.cxx:169 AliAnalysisTaskReducedTree.cxx:170 AliAnalysisTaskReducedTree.cxx:171 AliAnalysisTaskReducedTree.cxx:172 AliAnalysisTaskReducedTree.cxx:173 AliAnalysisTaskReducedTree.cxx:174 AliAnalysisTaskReducedTree.cxx:175 AliAnalysisTaskReducedTree.cxx:176 AliAnalysisTaskReducedTree.cxx:177 AliAnalysisTaskReducedTree.cxx:178 AliAnalysisTaskReducedTree.cxx:179 AliAnalysisTaskReducedTree.cxx:180 AliAnalysisTaskReducedTree.cxx:181 AliAnalysisTaskReducedTree.cxx:182 AliAnalysisTaskReducedTree.cxx:183 AliAnalysisTaskReducedTree.cxx:184 AliAnalysisTaskReducedTree.cxx:185 AliAnalysisTaskReducedTree.cxx:186 AliAnalysisTaskReducedTree.cxx:187 AliAnalysisTaskReducedTree.cxx:188 AliAnalysisTaskReducedTree.cxx:189 AliAnalysisTaskReducedTree.cxx:190 AliAnalysisTaskReducedTree.cxx:191 AliAnalysisTaskReducedTree.cxx:192 AliAnalysisTaskReducedTree.cxx:193 AliAnalysisTaskReducedTree.cxx:194 AliAnalysisTaskReducedTree.cxx:195 AliAnalysisTaskReducedTree.cxx:196 AliAnalysisTaskReducedTree.cxx:197 AliAnalysisTaskReducedTree.cxx:198 AliAnalysisTaskReducedTree.cxx:199 AliAnalysisTaskReducedTree.cxx:200 AliAnalysisTaskReducedTree.cxx:201 AliAnalysisTaskReducedTree.cxx:202 AliAnalysisTaskReducedTree.cxx:203 AliAnalysisTaskReducedTree.cxx:204 AliAnalysisTaskReducedTree.cxx:205 AliAnalysisTaskReducedTree.cxx:206 AliAnalysisTaskReducedTree.cxx:207 AliAnalysisTaskReducedTree.cxx:208 AliAnalysisTaskReducedTree.cxx:209 AliAnalysisTaskReducedTree.cxx:210 AliAnalysisTaskReducedTree.cxx:211 AliAnalysisTaskReducedTree.cxx:212 AliAnalysisTaskReducedTree.cxx:213 AliAnalysisTaskReducedTree.cxx:214 AliAnalysisTaskReducedTree.cxx:215 AliAnalysisTaskReducedTree.cxx:216 AliAnalysisTaskReducedTree.cxx:217 AliAnalysisTaskReducedTree.cxx:218 AliAnalysisTaskReducedTree.cxx:219 AliAnalysisTaskReducedTree.cxx:220 AliAnalysisTaskReducedTree.cxx:221 AliAnalysisTaskReducedTree.cxx:222 AliAnalysisTaskReducedTree.cxx:223 AliAnalysisTaskReducedTree.cxx:224 AliAnalysisTaskReducedTree.cxx:225 AliAnalysisTaskReducedTree.cxx:226 AliAnalysisTaskReducedTree.cxx:227 AliAnalysisTaskReducedTree.cxx:228 AliAnalysisTaskReducedTree.cxx:229 AliAnalysisTaskReducedTree.cxx:230 AliAnalysisTaskReducedTree.cxx:231 AliAnalysisTaskReducedTree.cxx:232 AliAnalysisTaskReducedTree.cxx:233 AliAnalysisTaskReducedTree.cxx:234 AliAnalysisTaskReducedTree.cxx:235 AliAnalysisTaskReducedTree.cxx:236 AliAnalysisTaskReducedTree.cxx:237 AliAnalysisTaskReducedTree.cxx:238 AliAnalysisTaskReducedTree.cxx:239 AliAnalysisTaskReducedTree.cxx:240 AliAnalysisTaskReducedTree.cxx:241 AliAnalysisTaskReducedTree.cxx:242 AliAnalysisTaskReducedTree.cxx:243 AliAnalysisTaskReducedTree.cxx:244 AliAnalysisTaskReducedTree.cxx:245 AliAnalysisTaskReducedTree.cxx:246 AliAnalysisTaskReducedTree.cxx:247 AliAnalysisTaskReducedTree.cxx:248 AliAnalysisTaskReducedTree.cxx:249 AliAnalysisTaskReducedTree.cxx:250 AliAnalysisTaskReducedTree.cxx:251 AliAnalysisTaskReducedTree.cxx:252 AliAnalysisTaskReducedTree.cxx:253 AliAnalysisTaskReducedTree.cxx:254 AliAnalysisTaskReducedTree.cxx:255 AliAnalysisTaskReducedTree.cxx:256 AliAnalysisTaskReducedTree.cxx:257 AliAnalysisTaskReducedTree.cxx:258 AliAnalysisTaskReducedTree.cxx:259 AliAnalysisTaskReducedTree.cxx:260 AliAnalysisTaskReducedTree.cxx:261 AliAnalysisTaskReducedTree.cxx:262 AliAnalysisTaskReducedTree.cxx:263 AliAnalysisTaskReducedTree.cxx:264 AliAnalysisTaskReducedTree.cxx:265 AliAnalysisTaskReducedTree.cxx:266 AliAnalysisTaskReducedTree.cxx:267 AliAnalysisTaskReducedTree.cxx:268 AliAnalysisTaskReducedTree.cxx:269 AliAnalysisTaskReducedTree.cxx:270 AliAnalysisTaskReducedTree.cxx:271 AliAnalysisTaskReducedTree.cxx:272 AliAnalysisTaskReducedTree.cxx:273 AliAnalysisTaskReducedTree.cxx:274 AliAnalysisTaskReducedTree.cxx:275 AliAnalysisTaskReducedTree.cxx:276 AliAnalysisTaskReducedTree.cxx:277 AliAnalysisTaskReducedTree.cxx:278 AliAnalysisTaskReducedTree.cxx:279 AliAnalysisTaskReducedTree.cxx:280 AliAnalysisTaskReducedTree.cxx:281 AliAnalysisTaskReducedTree.cxx:282 AliAnalysisTaskReducedTree.cxx:283 AliAnalysisTaskReducedTree.cxx:284 AliAnalysisTaskReducedTree.cxx:285 AliAnalysisTaskReducedTree.cxx:286 AliAnalysisTaskReducedTree.cxx:287 AliAnalysisTaskReducedTree.cxx:288 AliAnalysisTaskReducedTree.cxx:289 AliAnalysisTaskReducedTree.cxx:290 AliAnalysisTaskReducedTree.cxx:291 AliAnalysisTaskReducedTree.cxx:292 AliAnalysisTaskReducedTree.cxx:293 AliAnalysisTaskReducedTree.cxx:294 AliAnalysisTaskReducedTree.cxx:295 AliAnalysisTaskReducedTree.cxx:296 AliAnalysisTaskReducedTree.cxx:297 AliAnalysisTaskReducedTree.cxx:298 AliAnalysisTaskReducedTree.cxx:299 AliAnalysisTaskReducedTree.cxx:300 AliAnalysisTaskReducedTree.cxx:301 AliAnalysisTaskReducedTree.cxx:302 AliAnalysisTaskReducedTree.cxx:303 AliAnalysisTaskReducedTree.cxx:304 AliAnalysisTaskReducedTree.cxx:305 AliAnalysisTaskReducedTree.cxx:306 AliAnalysisTaskReducedTree.cxx:307 AliAnalysisTaskReducedTree.cxx:308 AliAnalysisTaskReducedTree.cxx:309 AliAnalysisTaskReducedTree.cxx:310 AliAnalysisTaskReducedTree.cxx:311 AliAnalysisTaskReducedTree.cxx:312 AliAnalysisTaskReducedTree.cxx:313 AliAnalysisTaskReducedTree.cxx:314 AliAnalysisTaskReducedTree.cxx:315 AliAnalysisTaskReducedTree.cxx:316 AliAnalysisTaskReducedTree.cxx:317 AliAnalysisTaskReducedTree.cxx:318 AliAnalysisTaskReducedTree.cxx:319 AliAnalysisTaskReducedTree.cxx:320 AliAnalysisTaskReducedTree.cxx:321 AliAnalysisTaskReducedTree.cxx:322 AliAnalysisTaskReducedTree.cxx:323 AliAnalysisTaskReducedTree.cxx:324 AliAnalysisTaskReducedTree.cxx:325 AliAnalysisTaskReducedTree.cxx:326 AliAnalysisTaskReducedTree.cxx:327 AliAnalysisTaskReducedTree.cxx:328 AliAnalysisTaskReducedTree.cxx:329 AliAnalysisTaskReducedTree.cxx:330 AliAnalysisTaskReducedTree.cxx:331 AliAnalysisTaskReducedTree.cxx:332 AliAnalysisTaskReducedTree.cxx:333 AliAnalysisTaskReducedTree.cxx:334 AliAnalysisTaskReducedTree.cxx:335 AliAnalysisTaskReducedTree.cxx:336 AliAnalysisTaskReducedTree.cxx:337 AliAnalysisTaskReducedTree.cxx:338 AliAnalysisTaskReducedTree.cxx:339 AliAnalysisTaskReducedTree.cxx:340 AliAnalysisTaskReducedTree.cxx:341 AliAnalysisTaskReducedTree.cxx:342 AliAnalysisTaskReducedTree.cxx:343 AliAnalysisTaskReducedTree.cxx:344 AliAnalysisTaskReducedTree.cxx:345 AliAnalysisTaskReducedTree.cxx:346 AliAnalysisTaskReducedTree.cxx:347 AliAnalysisTaskReducedTree.cxx:348 AliAnalysisTaskReducedTree.cxx:349 AliAnalysisTaskReducedTree.cxx:350 AliAnalysisTaskReducedTree.cxx:351 AliAnalysisTaskReducedTree.cxx:352 AliAnalysisTaskReducedTree.cxx:353 AliAnalysisTaskReducedTree.cxx:354 AliAnalysisTaskReducedTree.cxx:355 AliAnalysisTaskReducedTree.cxx:356 AliAnalysisTaskReducedTree.cxx:357 AliAnalysisTaskReducedTree.cxx:358 AliAnalysisTaskReducedTree.cxx:359 AliAnalysisTaskReducedTree.cxx:360 AliAnalysisTaskReducedTree.cxx:361 AliAnalysisTaskReducedTree.cxx:362 AliAnalysisTaskReducedTree.cxx:363 AliAnalysisTaskReducedTree.cxx:364 AliAnalysisTaskReducedTree.cxx:365 AliAnalysisTaskReducedTree.cxx:366 AliAnalysisTaskReducedTree.cxx:367 AliAnalysisTaskReducedTree.cxx:368 AliAnalysisTaskReducedTree.cxx:369 AliAnalysisTaskReducedTree.cxx:370 AliAnalysisTaskReducedTree.cxx:371 AliAnalysisTaskReducedTree.cxx:372 AliAnalysisTaskReducedTree.cxx:373 AliAnalysisTaskReducedTree.cxx:374 AliAnalysisTaskReducedTree.cxx:375 AliAnalysisTaskReducedTree.cxx:376 AliAnalysisTaskReducedTree.cxx:377 AliAnalysisTaskReducedTree.cxx:378 AliAnalysisTaskReducedTree.cxx:379 AliAnalysisTaskReducedTree.cxx:380 AliAnalysisTaskReducedTree.cxx:381 AliAnalysisTaskReducedTree.cxx:382 AliAnalysisTaskReducedTree.cxx:383 AliAnalysisTaskReducedTree.cxx:384 AliAnalysisTaskReducedTree.cxx:385 AliAnalysisTaskReducedTree.cxx:386 AliAnalysisTaskReducedTree.cxx:387 AliAnalysisTaskReducedTree.cxx:388 AliAnalysisTaskReducedTree.cxx:389 AliAnalysisTaskReducedTree.cxx:390 AliAnalysisTaskReducedTree.cxx:391 AliAnalysisTaskReducedTree.cxx:392 AliAnalysisTaskReducedTree.cxx:393 AliAnalysisTaskReducedTree.cxx:394 AliAnalysisTaskReducedTree.cxx:395 AliAnalysisTaskReducedTree.cxx:396 AliAnalysisTaskReducedTree.cxx:397 AliAnalysisTaskReducedTree.cxx:398 AliAnalysisTaskReducedTree.cxx:399 AliAnalysisTaskReducedTree.cxx:400 AliAnalysisTaskReducedTree.cxx:401 AliAnalysisTaskReducedTree.cxx:402 AliAnalysisTaskReducedTree.cxx:403 AliAnalysisTaskReducedTree.cxx:404 AliAnalysisTaskReducedTree.cxx:405 AliAnalysisTaskReducedTree.cxx:406 AliAnalysisTaskReducedTree.cxx:407 AliAnalysisTaskReducedTree.cxx:408 AliAnalysisTaskReducedTree.cxx:409 AliAnalysisTaskReducedTree.cxx:410 AliAnalysisTaskReducedTree.cxx:411 AliAnalysisTaskReducedTree.cxx:412 AliAnalysisTaskReducedTree.cxx:413 AliAnalysisTaskReducedTree.cxx:414 AliAnalysisTaskReducedTree.cxx:415 AliAnalysisTaskReducedTree.cxx:416 AliAnalysisTaskReducedTree.cxx:417 AliAnalysisTaskReducedTree.cxx:418 AliAnalysisTaskReducedTree.cxx:419 AliAnalysisTaskReducedTree.cxx:420 AliAnalysisTaskReducedTree.cxx:421 AliAnalysisTaskReducedTree.cxx:422 AliAnalysisTaskReducedTree.cxx:423 AliAnalysisTaskReducedTree.cxx:424 AliAnalysisTaskReducedTree.cxx:425 AliAnalysisTaskReducedTree.cxx:426 AliAnalysisTaskReducedTree.cxx:427 AliAnalysisTaskReducedTree.cxx:428 AliAnalysisTaskReducedTree.cxx:429 AliAnalysisTaskReducedTree.cxx:430 AliAnalysisTaskReducedTree.cxx:431 AliAnalysisTaskReducedTree.cxx:432 AliAnalysisTaskReducedTree.cxx:433 AliAnalysisTaskReducedTree.cxx:434 AliAnalysisTaskReducedTree.cxx:435 AliAnalysisTaskReducedTree.cxx:436 AliAnalysisTaskReducedTree.cxx:437 AliAnalysisTaskReducedTree.cxx:438 AliAnalysisTaskReducedTree.cxx:439 AliAnalysisTaskReducedTree.cxx:440 AliAnalysisTaskReducedTree.cxx:441 AliAnalysisTaskReducedTree.cxx:442 AliAnalysisTaskReducedTree.cxx:443 AliAnalysisTaskReducedTree.cxx:444 AliAnalysisTaskReducedTree.cxx:445 AliAnalysisTaskReducedTree.cxx:446 AliAnalysisTaskReducedTree.cxx:447 AliAnalysisTaskReducedTree.cxx:448 AliAnalysisTaskReducedTree.cxx:449 AliAnalysisTaskReducedTree.cxx:450 AliAnalysisTaskReducedTree.cxx:451 AliAnalysisTaskReducedTree.cxx:452 AliAnalysisTaskReducedTree.cxx:453 AliAnalysisTaskReducedTree.cxx:454 AliAnalysisTaskReducedTree.cxx:455 AliAnalysisTaskReducedTree.cxx:456 AliAnalysisTaskReducedTree.cxx:457 AliAnalysisTaskReducedTree.cxx:458 AliAnalysisTaskReducedTree.cxx:459 AliAnalysisTaskReducedTree.cxx:460 AliAnalysisTaskReducedTree.cxx:461 AliAnalysisTaskReducedTree.cxx:462 AliAnalysisTaskReducedTree.cxx:463 AliAnalysisTaskReducedTree.cxx:464 AliAnalysisTaskReducedTree.cxx:465 AliAnalysisTaskReducedTree.cxx:466 AliAnalysisTaskReducedTree.cxx:467 AliAnalysisTaskReducedTree.cxx:468 AliAnalysisTaskReducedTree.cxx:469 AliAnalysisTaskReducedTree.cxx:470 AliAnalysisTaskReducedTree.cxx:471 AliAnalysisTaskReducedTree.cxx:472 AliAnalysisTaskReducedTree.cxx:473 AliAnalysisTaskReducedTree.cxx:474 AliAnalysisTaskReducedTree.cxx:475 AliAnalysisTaskReducedTree.cxx:476 AliAnalysisTaskReducedTree.cxx:477 AliAnalysisTaskReducedTree.cxx:478 AliAnalysisTaskReducedTree.cxx:479 AliAnalysisTaskReducedTree.cxx:480 AliAnalysisTaskReducedTree.cxx:481 AliAnalysisTaskReducedTree.cxx:482 AliAnalysisTaskReducedTree.cxx:483 AliAnalysisTaskReducedTree.cxx:484 AliAnalysisTaskReducedTree.cxx:485 AliAnalysisTaskReducedTree.cxx:486 AliAnalysisTaskReducedTree.cxx:487 AliAnalysisTaskReducedTree.cxx:488 AliAnalysisTaskReducedTree.cxx:489 AliAnalysisTaskReducedTree.cxx:490 AliAnalysisTaskReducedTree.cxx:491 AliAnalysisTaskReducedTree.cxx:492 AliAnalysisTaskReducedTree.cxx:493 AliAnalysisTaskReducedTree.cxx:494 AliAnalysisTaskReducedTree.cxx:495 AliAnalysisTaskReducedTree.cxx:496 AliAnalysisTaskReducedTree.cxx:497 AliAnalysisTaskReducedTree.cxx:498 AliAnalysisTaskReducedTree.cxx:499 AliAnalysisTaskReducedTree.cxx:500 AliAnalysisTaskReducedTree.cxx:501 AliAnalysisTaskReducedTree.cxx:502 AliAnalysisTaskReducedTree.cxx:503 AliAnalysisTaskReducedTree.cxx:504 AliAnalysisTaskReducedTree.cxx:505 AliAnalysisTaskReducedTree.cxx:506 AliAnalysisTaskReducedTree.cxx:507 AliAnalysisTaskReducedTree.cxx:508 AliAnalysisTaskReducedTree.cxx:509 AliAnalysisTaskReducedTree.cxx:510 AliAnalysisTaskReducedTree.cxx:511 AliAnalysisTaskReducedTree.cxx:512 AliAnalysisTaskReducedTree.cxx:513 AliAnalysisTaskReducedTree.cxx:514 AliAnalysisTaskReducedTree.cxx:515 AliAnalysisTaskReducedTree.cxx:516 AliAnalysisTaskReducedTree.cxx:517 AliAnalysisTaskReducedTree.cxx:518 AliAnalysisTaskReducedTree.cxx:519 AliAnalysisTaskReducedTree.cxx:520 AliAnalysisTaskReducedTree.cxx:521 AliAnalysisTaskReducedTree.cxx:522 AliAnalysisTaskReducedTree.cxx:523 AliAnalysisTaskReducedTree.cxx:524 AliAnalysisTaskReducedTree.cxx:525 AliAnalysisTaskReducedTree.cxx:526 AliAnalysisTaskReducedTree.cxx:527 AliAnalysisTaskReducedTree.cxx:528 AliAnalysisTaskReducedTree.cxx:529 AliAnalysisTaskReducedTree.cxx:530 AliAnalysisTaskReducedTree.cxx:531 AliAnalysisTaskReducedTree.cxx:532 AliAnalysisTaskReducedTree.cxx:533 AliAnalysisTaskReducedTree.cxx:534 AliAnalysisTaskReducedTree.cxx:535 AliAnalysisTaskReducedTree.cxx:536 AliAnalysisTaskReducedTree.cxx:537 AliAnalysisTaskReducedTree.cxx:538 AliAnalysisTaskReducedTree.cxx:539 AliAnalysisTaskReducedTree.cxx:540 AliAnalysisTaskReducedTree.cxx:541 AliAnalysisTaskReducedTree.cxx:542 AliAnalysisTaskReducedTree.cxx:543 AliAnalysisTaskReducedTree.cxx:544 AliAnalysisTaskReducedTree.cxx:545 AliAnalysisTaskReducedTree.cxx:546 AliAnalysisTaskReducedTree.cxx:547 AliAnalysisTaskReducedTree.cxx:548 AliAnalysisTaskReducedTree.cxx:549 AliAnalysisTaskReducedTree.cxx:550 AliAnalysisTaskReducedTree.cxx:551 AliAnalysisTaskReducedTree.cxx:552 AliAnalysisTaskReducedTree.cxx:553 AliAnalysisTaskReducedTree.cxx:554 AliAnalysisTaskReducedTree.cxx:555 AliAnalysisTaskReducedTree.cxx:556 AliAnalysisTaskReducedTree.cxx:557 AliAnalysisTaskReducedTree.cxx:558 AliAnalysisTaskReducedTree.cxx:559 AliAnalysisTaskReducedTree.cxx:560 AliAnalysisTaskReducedTree.cxx:561 AliAnalysisTaskReducedTree.cxx:562 AliAnalysisTaskReducedTree.cxx:563 AliAnalysisTaskReducedTree.cxx:564 AliAnalysisTaskReducedTree.cxx:565 AliAnalysisTaskReducedTree.cxx:566 AliAnalysisTaskReducedTree.cxx:567 AliAnalysisTaskReducedTree.cxx:568 AliAnalysisTaskReducedTree.cxx:569 AliAnalysisTaskReducedTree.cxx:570 AliAnalysisTaskReducedTree.cxx:571 AliAnalysisTaskReducedTree.cxx:572 AliAnalysisTaskReducedTree.cxx:573 AliAnalysisTaskReducedTree.cxx:574 AliAnalysisTaskReducedTree.cxx:575 AliAnalysisTaskReducedTree.cxx:576 AliAnalysisTaskReducedTree.cxx:577 AliAnalysisTaskReducedTree.cxx:578 AliAnalysisTaskReducedTree.cxx:579 AliAnalysisTaskReducedTree.cxx:580 AliAnalysisTaskReducedTree.cxx:581 AliAnalysisTaskReducedTree.cxx:582 AliAnalysisTaskReducedTree.cxx:583 AliAnalysisTaskReducedTree.cxx:584 AliAnalysisTaskReducedTree.cxx:585 AliAnalysisTaskReducedTree.cxx:586 AliAnalysisTaskReducedTree.cxx:587 AliAnalysisTaskReducedTree.cxx:588 AliAnalysisTaskReducedTree.cxx:589 AliAnalysisTaskReducedTree.cxx:590 AliAnalysisTaskReducedTree.cxx:591 AliAnalysisTaskReducedTree.cxx:592 AliAnalysisTaskReducedTree.cxx:593 AliAnalysisTaskReducedTree.cxx:594 AliAnalysisTaskReducedTree.cxx:595 AliAnalysisTaskReducedTree.cxx:596 AliAnalysisTaskReducedTree.cxx:597 AliAnalysisTaskReducedTree.cxx:598 AliAnalysisTaskReducedTree.cxx:599 AliAnalysisTaskReducedTree.cxx:600 AliAnalysisTaskReducedTree.cxx:601 AliAnalysisTaskReducedTree.cxx:602 AliAnalysisTaskReducedTree.cxx:603 AliAnalysisTaskReducedTree.cxx:604 AliAnalysisTaskReducedTree.cxx:605 AliAnalysisTaskReducedTree.cxx:606 AliAnalysisTaskReducedTree.cxx:607 AliAnalysisTaskReducedTree.cxx:608 AliAnalysisTaskReducedTree.cxx:609 AliAnalysisTaskReducedTree.cxx:610 AliAnalysisTaskReducedTree.cxx:611 AliAnalysisTaskReducedTree.cxx:612 AliAnalysisTaskReducedTree.cxx:613 AliAnalysisTaskReducedTree.cxx:614 AliAnalysisTaskReducedTree.cxx:615 AliAnalysisTaskReducedTree.cxx:616 AliAnalysisTaskReducedTree.cxx:617 AliAnalysisTaskReducedTree.cxx:618 AliAnalysisTaskReducedTree.cxx:619 AliAnalysisTaskReducedTree.cxx:620 AliAnalysisTaskReducedTree.cxx:621 AliAnalysisTaskReducedTree.cxx:622 AliAnalysisTaskReducedTree.cxx:623 AliAnalysisTaskReducedTree.cxx:624 AliAnalysisTaskReducedTree.cxx:625 AliAnalysisTaskReducedTree.cxx:626 AliAnalysisTaskReducedTree.cxx:627 AliAnalysisTaskReducedTree.cxx:628 AliAnalysisTaskReducedTree.cxx:629 AliAnalysisTaskReducedTree.cxx:630 AliAnalysisTaskReducedTree.cxx:631 AliAnalysisTaskReducedTree.cxx:632 AliAnalysisTaskReducedTree.cxx:633 AliAnalysisTaskReducedTree.cxx:634 AliAnalysisTaskReducedTree.cxx:635 AliAnalysisTaskReducedTree.cxx:636 AliAnalysisTaskReducedTree.cxx:637 AliAnalysisTaskReducedTree.cxx:638 AliAnalysisTaskReducedTree.cxx:639 AliAnalysisTaskReducedTree.cxx:640 AliAnalysisTaskReducedTree.cxx:641 AliAnalysisTaskReducedTree.cxx:642 AliAnalysisTaskReducedTree.cxx:643 AliAnalysisTaskReducedTree.cxx:644 AliAnalysisTaskReducedTree.cxx:645 AliAnalysisTaskReducedTree.cxx:646 AliAnalysisTaskReducedTree.cxx:647 AliAnalysisTaskReducedTree.cxx:648 AliAnalysisTaskReducedTree.cxx:649 AliAnalysisTaskReducedTree.cxx:650 AliAnalysisTaskReducedTree.cxx:651 AliAnalysisTaskReducedTree.cxx:652 AliAnalysisTaskReducedTree.cxx:653 AliAnalysisTaskReducedTree.cxx:654 AliAnalysisTaskReducedTree.cxx:655 AliAnalysisTaskReducedTree.cxx:656 AliAnalysisTaskReducedTree.cxx:657 AliAnalysisTaskReducedTree.cxx:658 AliAnalysisTaskReducedTree.cxx:659 AliAnalysisTaskReducedTree.cxx:660 AliAnalysisTaskReducedTree.cxx:661 AliAnalysisTaskReducedTree.cxx:662 AliAnalysisTaskReducedTree.cxx:663 AliAnalysisTaskReducedTree.cxx:664 AliAnalysisTaskReducedTree.cxx:665 AliAnalysisTaskReducedTree.cxx:666 AliAnalysisTaskReducedTree.cxx:667 AliAnalysisTaskReducedTree.cxx:668 AliAnalysisTaskReducedTree.cxx:669 AliAnalysisTaskReducedTree.cxx:670 AliAnalysisTaskReducedTree.cxx:671 AliAnalysisTaskReducedTree.cxx:672 AliAnalysisTaskReducedTree.cxx:673 AliAnalysisTaskReducedTree.cxx:674 AliAnalysisTaskReducedTree.cxx:675 AliAnalysisTaskReducedTree.cxx:676 AliAnalysisTaskReducedTree.cxx:677 AliAnalysisTaskReducedTree.cxx:678 AliAnalysisTaskReducedTree.cxx:679 AliAnalysisTaskReducedTree.cxx:680 AliAnalysisTaskReducedTree.cxx:681 AliAnalysisTaskReducedTree.cxx:682 AliAnalysisTaskReducedTree.cxx:683 AliAnalysisTaskReducedTree.cxx:684 AliAnalysisTaskReducedTree.cxx:685 AliAnalysisTaskReducedTree.cxx:686 AliAnalysisTaskReducedTree.cxx:687 AliAnalysisTaskReducedTree.cxx:688 AliAnalysisTaskReducedTree.cxx:689 AliAnalysisTaskReducedTree.cxx:690 AliAnalysisTaskReducedTree.cxx:691 AliAnalysisTaskReducedTree.cxx:692 AliAnalysisTaskReducedTree.cxx:693 AliAnalysisTaskReducedTree.cxx:694 AliAnalysisTaskReducedTree.cxx:695 AliAnalysisTaskReducedTree.cxx:696 AliAnalysisTaskReducedTree.cxx:697 AliAnalysisTaskReducedTree.cxx:698 AliAnalysisTaskReducedTree.cxx:699 AliAnalysisTaskReducedTree.cxx:700 AliAnalysisTaskReducedTree.cxx:701 AliAnalysisTaskReducedTree.cxx:702 AliAnalysisTaskReducedTree.cxx:703 AliAnalysisTaskReducedTree.cxx:704 AliAnalysisTaskReducedTree.cxx:705 AliAnalysisTaskReducedTree.cxx:706 AliAnalysisTaskReducedTree.cxx:707 AliAnalysisTaskReducedTree.cxx:708 AliAnalysisTaskReducedTree.cxx:709 AliAnalysisTaskReducedTree.cxx:710 AliAnalysisTaskReducedTree.cxx:711 AliAnalysisTaskReducedTree.cxx:712 AliAnalysisTaskReducedTree.cxx:713 AliAnalysisTaskReducedTree.cxx:714 AliAnalysisTaskReducedTree.cxx:715 AliAnalysisTaskReducedTree.cxx:716 AliAnalysisTaskReducedTree.cxx:717 AliAnalysisTaskReducedTree.cxx:718 AliAnalysisTaskReducedTree.cxx:719 AliAnalysisTaskReducedTree.cxx:720 AliAnalysisTaskReducedTree.cxx:721 AliAnalysisTaskReducedTree.cxx:722 AliAnalysisTaskReducedTree.cxx:723 AliAnalysisTaskReducedTree.cxx:724 AliAnalysisTaskReducedTree.cxx:725 AliAnalysisTaskReducedTree.cxx:726 AliAnalysisTaskReducedTree.cxx:727 AliAnalysisTaskReducedTree.cxx:728 AliAnalysisTaskReducedTree.cxx:729 AliAnalysisTaskReducedTree.cxx:730 AliAnalysisTaskReducedTree.cxx:731 AliAnalysisTaskReducedTree.cxx:732 AliAnalysisTaskReducedTree.cxx:733 AliAnalysisTaskReducedTree.cxx:734 AliAnalysisTaskReducedTree.cxx:735 AliAnalysisTaskReducedTree.cxx:736 AliAnalysisTaskReducedTree.cxx:737 AliAnalysisTaskReducedTree.cxx:738 AliAnalysisTaskReducedTree.cxx:739 AliAnalysisTaskReducedTree.cxx:740 AliAnalysisTaskReducedTree.cxx:741 AliAnalysisTaskReducedTree.cxx:742 AliAnalysisTaskReducedTree.cxx:743 AliAnalysisTaskReducedTree.cxx:744 AliAnalysisTaskReducedTree.cxx:745 AliAnalysisTaskReducedTree.cxx:746 AliAnalysisTaskReducedTree.cxx:747 AliAnalysisTaskReducedTree.cxx:748 AliAnalysisTaskReducedTree.cxx:749 AliAnalysisTaskReducedTree.cxx:750 AliAnalysisTaskReducedTree.cxx:751 AliAnalysisTaskReducedTree.cxx:752 AliAnalysisTaskReducedTree.cxx:753 AliAnalysisTaskReducedTree.cxx:754 AliAnalysisTaskReducedTree.cxx:755 AliAnalysisTaskReducedTree.cxx:756 AliAnalysisTaskReducedTree.cxx:757 AliAnalysisTaskReducedTree.cxx:758 AliAnalysisTaskReducedTree.cxx:759 AliAnalysisTaskReducedTree.cxx:760 AliAnalysisTaskReducedTree.cxx:761 AliAnalysisTaskReducedTree.cxx:762 AliAnalysisTaskReducedTree.cxx:763 AliAnalysisTaskReducedTree.cxx:764 AliAnalysisTaskReducedTree.cxx:765 AliAnalysisTaskReducedTree.cxx:766 AliAnalysisTaskReducedTree.cxx:767 AliAnalysisTaskReducedTree.cxx:768 AliAnalysisTaskReducedTree.cxx:769 AliAnalysisTaskReducedTree.cxx:770 AliAnalysisTaskReducedTree.cxx:771 AliAnalysisTaskReducedTree.cxx:772 AliAnalysisTaskReducedTree.cxx:773 AliAnalysisTaskReducedTree.cxx:774 AliAnalysisTaskReducedTree.cxx:775 AliAnalysisTaskReducedTree.cxx:776 AliAnalysisTaskReducedTree.cxx:777 AliAnalysisTaskReducedTree.cxx:778 AliAnalysisTaskReducedTree.cxx:779 AliAnalysisTaskReducedTree.cxx:780 AliAnalysisTaskReducedTree.cxx:781 AliAnalysisTaskReducedTree.cxx:782 AliAnalysisTaskReducedTree.cxx:783 AliAnalysisTaskReducedTree.cxx:784 AliAnalysisTaskReducedTree.cxx:785 AliAnalysisTaskReducedTree.cxx:786 AliAnalysisTaskReducedTree.cxx:787 AliAnalysisTaskReducedTree.cxx:788 AliAnalysisTaskReducedTree.cxx:789 AliAnalysisTaskReducedTree.cxx:790 AliAnalysisTaskReducedTree.cxx:791 AliAnalysisTaskReducedTree.cxx:792 AliAnalysisTaskReducedTree.cxx:793 AliAnalysisTaskReducedTree.cxx:794 AliAnalysisTaskReducedTree.cxx:795 AliAnalysisTaskReducedTree.cxx:796 AliAnalysisTaskReducedTree.cxx:797 AliAnalysisTaskReducedTree.cxx:798 AliAnalysisTaskReducedTree.cxx:799 AliAnalysisTaskReducedTree.cxx:800 AliAnalysisTaskReducedTree.cxx:801 AliAnalysisTaskReducedTree.cxx:802 AliAnalysisTaskReducedTree.cxx:803 AliAnalysisTaskReducedTree.cxx:804 AliAnalysisTaskReducedTree.cxx:805 AliAnalysisTaskReducedTree.cxx:806 AliAnalysisTaskReducedTree.cxx:807 AliAnalysisTaskReducedTree.cxx:808 AliAnalysisTaskReducedTree.cxx:809 AliAnalysisTaskReducedTree.cxx:810 AliAnalysisTaskReducedTree.cxx:811 AliAnalysisTaskReducedTree.cxx:812 AliAnalysisTaskReducedTree.cxx:813 AliAnalysisTaskReducedTree.cxx:814 AliAnalysisTaskReducedTree.cxx:815 AliAnalysisTaskReducedTree.cxx:816 AliAnalysisTaskReducedTree.cxx:817 AliAnalysisTaskReducedTree.cxx:818 AliAnalysisTaskReducedTree.cxx:819 AliAnalysisTaskReducedTree.cxx:820 AliAnalysisTaskReducedTree.cxx:821 AliAnalysisTaskReducedTree.cxx:822 AliAnalysisTaskReducedTree.cxx:823 AliAnalysisTaskReducedTree.cxx:824 AliAnalysisTaskReducedTree.cxx:825 AliAnalysisTaskReducedTree.cxx:826 AliAnalysisTaskReducedTree.cxx:827 AliAnalysisTaskReducedTree.cxx:828 AliAnalysisTaskReducedTree.cxx:829 AliAnalysisTaskReducedTree.cxx:830 AliAnalysisTaskReducedTree.cxx:831 AliAnalysisTaskReducedTree.cxx:832 AliAnalysisTaskReducedTree.cxx:833 AliAnalysisTaskReducedTree.cxx:834 AliAnalysisTaskReducedTree.cxx:835 AliAnalysisTaskReducedTree.cxx:836 AliAnalysisTaskReducedTree.cxx:837 AliAnalysisTaskReducedTree.cxx:838 AliAnalysisTaskReducedTree.cxx:839 AliAnalysisTaskReducedTree.cxx:840 AliAnalysisTaskReducedTree.cxx:841 AliAnalysisTaskReducedTree.cxx:842 AliAnalysisTaskReducedTree.cxx:843 AliAnalysisTaskReducedTree.cxx:844 AliAnalysisTaskReducedTree.cxx:845 AliAnalysisTaskReducedTree.cxx:846 AliAnalysisTaskReducedTree.cxx:847 AliAnalysisTaskReducedTree.cxx:848 AliAnalysisTaskReducedTree.cxx:849 AliAnalysisTaskReducedTree.cxx:850 AliAnalysisTaskReducedTree.cxx:851 AliAnalysisTaskReducedTree.cxx:852 AliAnalysisTaskReducedTree.cxx:853 AliAnalysisTaskReducedTree.cxx:854 AliAnalysisTaskReducedTree.cxx:855 AliAnalysisTaskReducedTree.cxx:856 AliAnalysisTaskReducedTree.cxx:857 AliAnalysisTaskReducedTree.cxx:858 AliAnalysisTaskReducedTree.cxx:859 AliAnalysisTaskReducedTree.cxx:860 AliAnalysisTaskReducedTree.cxx:861 AliAnalysisTaskReducedTree.cxx:862 AliAnalysisTaskReducedTree.cxx:863 AliAnalysisTaskReducedTree.cxx:864 AliAnalysisTaskReducedTree.cxx:865 AliAnalysisTaskReducedTree.cxx:866 AliAnalysisTaskReducedTree.cxx:867 AliAnalysisTaskReducedTree.cxx:868 AliAnalysisTaskReducedTree.cxx:869 AliAnalysisTaskReducedTree.cxx:870 AliAnalysisTaskReducedTree.cxx:871 AliAnalysisTaskReducedTree.cxx:872 AliAnalysisTaskReducedTree.cxx:873 AliAnalysisTaskReducedTree.cxx:874 AliAnalysisTaskReducedTree.cxx:875 AliAnalysisTaskReducedTree.cxx:876 AliAnalysisTaskReducedTree.cxx:877 AliAnalysisTaskReducedTree.cxx:878 AliAnalysisTaskReducedTree.cxx:879 AliAnalysisTaskReducedTree.cxx:880 AliAnalysisTaskReducedTree.cxx:881 AliAnalysisTaskReducedTree.cxx:882 AliAnalysisTaskReducedTree.cxx:883 AliAnalysisTaskReducedTree.cxx:884 AliAnalysisTaskReducedTree.cxx:885 AliAnalysisTaskReducedTree.cxx:886 AliAnalysisTaskReducedTree.cxx:887 AliAnalysisTaskReducedTree.cxx:888 AliAnalysisTaskReducedTree.cxx:889 AliAnalysisTaskReducedTree.cxx:890 AliAnalysisTaskReducedTree.cxx:891 AliAnalysisTaskReducedTree.cxx:892 AliAnalysisTaskReducedTree.cxx:893 AliAnalysisTaskReducedTree.cxx:894 AliAnalysisTaskReducedTree.cxx:895 AliAnalysisTaskReducedTree.cxx:896 AliAnalysisTaskReducedTree.cxx:897 AliAnalysisTaskReducedTree.cxx:898 AliAnalysisTaskReducedTree.cxx:899 AliAnalysisTaskReducedTree.cxx:900 AliAnalysisTaskReducedTree.cxx:901 AliAnalysisTaskReducedTree.cxx:902 AliAnalysisTaskReducedTree.cxx:903 AliAnalysisTaskReducedTree.cxx:904 AliAnalysisTaskReducedTree.cxx:905 AliAnalysisTaskReducedTree.cxx:906 AliAnalysisTaskReducedTree.cxx:907 AliAnalysisTaskReducedTree.cxx:908 AliAnalysisTaskReducedTree.cxx:909 AliAnalysisTaskReducedTree.cxx:910 AliAnalysisTaskReducedTree.cxx:911 AliAnalysisTaskReducedTree.cxx:912 AliAnalysisTaskReducedTree.cxx:913 AliAnalysisTaskReducedTree.cxx:914 AliAnalysisTaskReducedTree.cxx:915 AliAnalysisTaskReducedTree.cxx:916 AliAnalysisTaskReducedTree.cxx:917 AliAnalysisTaskReducedTree.cxx:918 AliAnalysisTaskReducedTree.cxx:919 AliAnalysisTaskReducedTree.cxx:920 AliAnalysisTaskReducedTree.cxx:921 AliAnalysisTaskReducedTree.cxx:922 AliAnalysisTaskReducedTree.cxx:923 AliAnalysisTaskReducedTree.cxx:924 AliAnalysisTaskReducedTree.cxx:925 AliAnalysisTaskReducedTree.cxx:926 AliAnalysisTaskReducedTree.cxx:927 AliAnalysisTaskReducedTree.cxx:928 AliAnalysisTaskReducedTree.cxx:929 AliAnalysisTaskReducedTree.cxx:930 AliAnalysisTaskReducedTree.cxx:931 AliAnalysisTaskReducedTree.cxx:932 AliAnalysisTaskReducedTree.cxx:933 AliAnalysisTaskReducedTree.cxx:934 AliAnalysisTaskReducedTree.cxx:935 AliAnalysisTaskReducedTree.cxx:936 AliAnalysisTaskReducedTree.cxx:937 AliAnalysisTaskReducedTree.cxx:938 AliAnalysisTaskReducedTree.cxx:939 AliAnalysisTaskReducedTree.cxx:940 AliAnalysisTaskReducedTree.cxx:941 AliAnalysisTaskReducedTree.cxx:942 AliAnalysisTaskReducedTree.cxx:943 AliAnalysisTaskReducedTree.cxx:944 AliAnalysisTaskReducedTree.cxx:945 AliAnalysisTaskReducedTree.cxx:946 AliAnalysisTaskReducedTree.cxx:947 AliAnalysisTaskReducedTree.cxx:948 AliAnalysisTaskReducedTree.cxx:949 AliAnalysisTaskReducedTree.cxx:950 AliAnalysisTaskReducedTree.cxx:951 AliAnalysisTaskReducedTree.cxx:952 AliAnalysisTaskReducedTree.cxx:953 AliAnalysisTaskReducedTree.cxx:954 AliAnalysisTaskReducedTree.cxx:955 AliAnalysisTaskReducedTree.cxx:956 AliAnalysisTaskReducedTree.cxx:957 AliAnalysisTaskReducedTree.cxx:958 AliAnalysisTaskReducedTree.cxx:959 AliAnalysisTaskReducedTree.cxx:960 AliAnalysisTaskReducedTree.cxx:961 AliAnalysisTaskReducedTree.cxx:962 AliAnalysisTaskReducedTree.cxx:963 AliAnalysisTaskReducedTree.cxx:964 AliAnalysisTaskReducedTree.cxx:965 AliAnalysisTaskReducedTree.cxx:966 AliAnalysisTaskReducedTree.cxx:967 AliAnalysisTaskReducedTree.cxx:968 AliAnalysisTaskReducedTree.cxx:969 AliAnalysisTaskReducedTree.cxx:970 AliAnalysisTaskReducedTree.cxx:971 AliAnalysisTaskReducedTree.cxx:972 AliAnalysisTaskReducedTree.cxx:973 AliAnalysisTaskReducedTree.cxx:974 AliAnalysisTaskReducedTree.cxx:975 AliAnalysisTaskReducedTree.cxx:976 AliAnalysisTaskReducedTree.cxx:977 AliAnalysisTaskReducedTree.cxx:978 AliAnalysisTaskReducedTree.cxx:979 AliAnalysisTaskReducedTree.cxx:980 AliAnalysisTaskReducedTree.cxx:981 AliAnalysisTaskReducedTree.cxx:982 AliAnalysisTaskReducedTree.cxx:983 AliAnalysisTaskReducedTree.cxx:984 AliAnalysisTaskReducedTree.cxx:985 AliAnalysisTaskReducedTree.cxx:986 AliAnalysisTaskReducedTree.cxx:987 AliAnalysisTaskReducedTree.cxx:988 AliAnalysisTaskReducedTree.cxx:989 AliAnalysisTaskReducedTree.cxx:990 AliAnalysisTaskReducedTree.cxx:991 AliAnalysisTaskReducedTree.cxx:992 AliAnalysisTaskReducedTree.cxx:993 AliAnalysisTaskReducedTree.cxx:994 AliAnalysisTaskReducedTree.cxx:995 AliAnalysisTaskReducedTree.cxx:996 AliAnalysisTaskReducedTree.cxx:997 AliAnalysisTaskReducedTree.cxx:998 AliAnalysisTaskReducedTree.cxx:999 AliAnalysisTaskReducedTree.cxx:1000 AliAnalysisTaskReducedTree.cxx:1001 AliAnalysisTaskReducedTree.cxx:1002 AliAnalysisTaskReducedTree.cxx:1003 AliAnalysisTaskReducedTree.cxx:1004 AliAnalysisTaskReducedTree.cxx:1005 AliAnalysisTaskReducedTree.cxx:1006 AliAnalysisTaskReducedTree.cxx:1007 AliAnalysisTaskReducedTree.cxx:1008 AliAnalysisTaskReducedTree.cxx:1009 AliAnalysisTaskReducedTree.cxx:1010 AliAnalysisTaskReducedTree.cxx:1011 AliAnalysisTaskReducedTree.cxx:1012 AliAnalysisTaskReducedTree.cxx:1013 AliAnalysisTaskReducedTree.cxx:1014 AliAnalysisTaskReducedTree.cxx:1015 AliAnalysisTaskReducedTree.cxx:1016 AliAnalysisTaskReducedTree.cxx:1017 AliAnalysisTaskReducedTree.cxx:1018 AliAnalysisTaskReducedTree.cxx:1019 AliAnalysisTaskReducedTree.cxx:1020 AliAnalysisTaskReducedTree.cxx:1021 AliAnalysisTaskReducedTree.cxx:1022 AliAnalysisTaskReducedTree.cxx:1023 AliAnalysisTaskReducedTree.cxx:1024 AliAnalysisTaskReducedTree.cxx:1025 AliAnalysisTaskReducedTree.cxx:1026 AliAnalysisTaskReducedTree.cxx:1027 AliAnalysisTaskReducedTree.cxx:1028 AliAnalysisTaskReducedTree.cxx:1029 AliAnalysisTaskReducedTree.cxx:1030 AliAnalysisTaskReducedTree.cxx:1031 AliAnalysisTaskReducedTree.cxx:1032 AliAnalysisTaskReducedTree.cxx:1033 AliAnalysisTaskReducedTree.cxx:1034 AliAnalysisTaskReducedTree.cxx:1035 AliAnalysisTaskReducedTree.cxx:1036 AliAnalysisTaskReducedTree.cxx:1037 AliAnalysisTaskReducedTree.cxx:1038 AliAnalysisTaskReducedTree.cxx:1039 AliAnalysisTaskReducedTree.cxx:1040 AliAnalysisTaskReducedTree.cxx:1041 AliAnalysisTaskReducedTree.cxx:1042 AliAnalysisTaskReducedTree.cxx:1043 AliAnalysisTaskReducedTree.cxx:1044 AliAnalysisTaskReducedTree.cxx:1045 AliAnalysisTaskReducedTree.cxx:1046 AliAnalysisTaskReducedTree.cxx:1047 AliAnalysisTaskReducedTree.cxx:1048 AliAnalysisTaskReducedTree.cxx:1049 AliAnalysisTaskReducedTree.cxx:1050 AliAnalysisTaskReducedTree.cxx:1051 AliAnalysisTaskReducedTree.cxx:1052 AliAnalysisTaskReducedTree.cxx:1053 AliAnalysisTaskReducedTree.cxx:1054 AliAnalysisTaskReducedTree.cxx:1055 AliAnalysisTaskReducedTree.cxx:1056 AliAnalysisTaskReducedTree.cxx:1057 AliAnalysisTaskReducedTree.cxx:1058 AliAnalysisTaskReducedTree.cxx:1059 AliAnalysisTaskReducedTree.cxx:1060 AliAnalysisTaskReducedTree.cxx:1061 AliAnalysisTaskReducedTree.cxx:1062 AliAnalysisTaskReducedTree.cxx:1063 AliAnalysisTaskReducedTree.cxx:1064 AliAnalysisTaskReducedTree.cxx:1065 AliAnalysisTaskReducedTree.cxx:1066 AliAnalysisTaskReducedTree.cxx:1067 AliAnalysisTaskReducedTree.cxx:1068 AliAnalysisTaskReducedTree.cxx:1069 AliAnalysisTaskReducedTree.cxx:1070 AliAnalysisTaskReducedTree.cxx:1071 AliAnalysisTaskReducedTree.cxx:1072 AliAnalysisTaskReducedTree.cxx:1073 AliAnalysisTaskReducedTree.cxx:1074 AliAnalysisTaskReducedTree.cxx:1075 AliAnalysisTaskReducedTree.cxx:1076 AliAnalysisTaskReducedTree.cxx:1077 AliAnalysisTaskReducedTree.cxx:1078 AliAnalysisTaskReducedTree.cxx:1079 AliAnalysisTaskReducedTree.cxx:1080 AliAnalysisTaskReducedTree.cxx:1081 AliAnalysisTaskReducedTree.cxx:1082 AliAnalysisTaskReducedTree.cxx:1083 AliAnalysisTaskReducedTree.cxx:1084 AliAnalysisTaskReducedTree.cxx:1085 AliAnalysisTaskReducedTree.cxx:1086 AliAnalysisTaskReducedTree.cxx:1087 AliAnalysisTaskReducedTree.cxx:1088 AliAnalysisTaskReducedTree.cxx:1089 AliAnalysisTaskReducedTree.cxx:1090 AliAnalysisTaskReducedTree.cxx:1091 AliAnalysisTaskReducedTree.cxx:1092 AliAnalysisTaskReducedTree.cxx:1093 AliAnalysisTaskReducedTree.cxx:1094 AliAnalysisTaskReducedTree.cxx:1095 AliAnalysisTaskReducedTree.cxx:1096 AliAnalysisTaskReducedTree.cxx:1097 AliAnalysisTaskReducedTree.cxx:1098 AliAnalysisTaskReducedTree.cxx:1099 AliAnalysisTaskReducedTree.cxx:1100 AliAnalysisTaskReducedTree.cxx:1101 AliAnalysisTaskReducedTree.cxx:1102 AliAnalysisTaskReducedTree.cxx:1103 AliAnalysisTaskReducedTree.cxx:1104 AliAnalysisTaskReducedTree.cxx:1105 AliAnalysisTaskReducedTree.cxx:1106 AliAnalysisTaskReducedTree.cxx:1107 AliAnalysisTaskReducedTree.cxx:1108 AliAnalysisTaskReducedTree.cxx:1109 AliAnalysisTaskReducedTree.cxx:1110 AliAnalysisTaskReducedTree.cxx:1111 AliAnalysisTaskReducedTree.cxx:1112 AliAnalysisTaskReducedTree.cxx:1113 AliAnalysisTaskReducedTree.cxx:1114 AliAnalysisTaskReducedTree.cxx:1115 AliAnalysisTaskReducedTree.cxx:1116 AliAnalysisTaskReducedTree.cxx:1117 AliAnalysisTaskReducedTree.cxx:1118 AliAnalysisTaskReducedTree.cxx:1119 AliAnalysisTaskReducedTree.cxx:1120 AliAnalysisTaskReducedTree.cxx:1121 AliAnalysisTaskReducedTree.cxx:1122 AliAnalysisTaskReducedTree.cxx:1123 AliAnalysisTaskReducedTree.cxx:1124 AliAnalysisTaskReducedTree.cxx:1125 AliAnalysisTaskReducedTree.cxx:1126 AliAnalysisTaskReducedTree.cxx:1127 AliAnalysisTaskReducedTree.cxx:1128 AliAnalysisTaskReducedTree.cxx:1129 AliAnalysisTaskReducedTree.cxx:1130 AliAnalysisTaskReducedTree.cxx:1131 AliAnalysisTaskReducedTree.cxx:1132 AliAnalysisTaskReducedTree.cxx:1133 AliAnalysisTaskReducedTree.cxx:1134 AliAnalysisTaskReducedTree.cxx:1135 AliAnalysisTaskReducedTree.cxx:1136 AliAnalysisTaskReducedTree.cxx:1137 AliAnalysisTaskReducedTree.cxx:1138 AliAnalysisTaskReducedTree.cxx:1139 AliAnalysisTaskReducedTree.cxx:1140 AliAnalysisTaskReducedTree.cxx:1141 AliAnalysisTaskReducedTree.cxx:1142 AliAnalysisTaskReducedTree.cxx:1143 AliAnalysisTaskReducedTree.cxx:1144 AliAnalysisTaskReducedTree.cxx:1145 AliAnalysisTaskReducedTree.cxx:1146 AliAnalysisTaskReducedTree.cxx:1147 AliAnalysisTaskReducedTree.cxx:1148 AliAnalysisTaskReducedTree.cxx:1149 AliAnalysisTaskReducedTree.cxx:1150 AliAnalysisTaskReducedTree.cxx:1151 AliAnalysisTaskReducedTree.cxx:1152 AliAnalysisTaskReducedTree.cxx:1153 AliAnalysisTaskReducedTree.cxx:1154 AliAnalysisTaskReducedTree.cxx:1155 AliAnalysisTaskReducedTree.cxx:1156 AliAnalysisTaskReducedTree.cxx:1157 AliAnalysisTaskReducedTree.cxx:1158 AliAnalysisTaskReducedTree.cxx:1159 AliAnalysisTaskReducedTree.cxx:1160 AliAnalysisTaskReducedTree.cxx:1161 AliAnalysisTaskReducedTree.cxx:1162 AliAnalysisTaskReducedTree.cxx:1163 AliAnalysisTaskReducedTree.cxx:1164 AliAnalysisTaskReducedTree.cxx:1165 AliAnalysisTaskReducedTree.cxx:1166 AliAnalysisTaskReducedTree.cxx:1167 AliAnalysisTaskReducedTree.cxx:1168 AliAnalysisTaskReducedTree.cxx:1169 AliAnalysisTaskReducedTree.cxx:1170 AliAnalysisTaskReducedTree.cxx:1171 AliAnalysisTaskReducedTree.cxx:1172 AliAnalysisTaskReducedTree.cxx:1173 AliAnalysisTaskReducedTree.cxx:1174 AliAnalysisTaskReducedTree.cxx:1175 AliAnalysisTaskReducedTree.cxx:1176 AliAnalysisTaskReducedTree.cxx:1177 AliAnalysisTaskReducedTree.cxx:1178 AliAnalysisTaskReducedTree.cxx:1179 AliAnalysisTaskReducedTree.cxx:1180 AliAnalysisTaskReducedTree.cxx:1181 AliAnalysisTaskReducedTree.cxx:1182 AliAnalysisTaskReducedTree.cxx:1183 AliAnalysisTaskReducedTree.cxx:1184 AliAnalysisTaskReducedTree.cxx:1185 AliAnalysisTaskReducedTree.cxx:1186 AliAnalysisTaskReducedTree.cxx:1187 AliAnalysisTaskReducedTree.cxx:1188 AliAnalysisTaskReducedTree.cxx:1189 AliAnalysisTaskReducedTree.cxx:1190 AliAnalysisTaskReducedTree.cxx:1191 AliAnalysisTaskReducedTree.cxx:1192 AliAnalysisTaskReducedTree.cxx:1193 AliAnalysisTaskReducedTree.cxx:1194 AliAnalysisTaskReducedTree.cxx:1195 AliAnalysisTaskReducedTree.cxx:1196 AliAnalysisTaskReducedTree.cxx:1197 AliAnalysisTaskReducedTree.cxx:1198 AliAnalysisTaskReducedTree.cxx:1199 AliAnalysisTaskReducedTree.cxx:1200 AliAnalysisTaskReducedTree.cxx:1201 AliAnalysisTaskReducedTree.cxx:1202 AliAnalysisTaskReducedTree.cxx:1203 AliAnalysisTaskReducedTree.cxx:1204 AliAnalysisTaskReducedTree.cxx:1205 AliAnalysisTaskReducedTree.cxx:1206 AliAnalysisTaskReducedTree.cxx:1207 AliAnalysisTaskReducedTree.cxx:1208 AliAnalysisTaskReducedTree.cxx:1209 AliAnalysisTaskReducedTree.cxx:1210 AliAnalysisTaskReducedTree.cxx:1211 AliAnalysisTaskReducedTree.cxx:1212 AliAnalysisTaskReducedTree.cxx:1213 AliAnalysisTaskReducedTree.cxx:1214 AliAnalysisTaskReducedTree.cxx:1215 AliAnalysisTaskReducedTree.cxx:1216 AliAnalysisTaskReducedTree.cxx:1217 AliAnalysisTaskReducedTree.cxx:1218 AliAnalysisTaskReducedTree.cxx:1219 AliAnalysisTaskReducedTree.cxx:1220 AliAnalysisTaskReducedTree.cxx:1221 AliAnalysisTaskReducedTree.cxx:1222 AliAnalysisTaskReducedTree.cxx:1223 AliAnalysisTaskReducedTree.cxx:1224 AliAnalysisTaskReducedTree.cxx:1225 AliAnalysisTaskReducedTree.cxx:1226 AliAnalysisTaskReducedTree.cxx:1227 AliAnalysisTaskReducedTree.cxx:1228 AliAnalysisTaskReducedTree.cxx:1229 AliAnalysisTaskReducedTree.cxx:1230 AliAnalysisTaskReducedTree.cxx:1231 AliAnalysisTaskReducedTree.cxx:1232 AliAnalysisTaskReducedTree.cxx:1233 AliAnalysisTaskReducedTree.cxx:1234 AliAnalysisTaskReducedTree.cxx:1235 AliAnalysisTaskReducedTree.cxx:1236 AliAnalysisTaskReducedTree.cxx:1237 AliAnalysisTaskReducedTree.cxx:1238 AliAnalysisTaskReducedTree.cxx:1239 AliAnalysisTaskReducedTree.cxx:1240 AliAnalysisTaskReducedTree.cxx:1241 AliAnalysisTaskReducedTree.cxx:1242 AliAnalysisTaskReducedTree.cxx:1243 AliAnalysisTaskReducedTree.cxx:1244 AliAnalysisTaskReducedTree.cxx:1245 AliAnalysisTaskReducedTree.cxx:1246 AliAnalysisTaskReducedTree.cxx:1247 AliAnalysisTaskReducedTree.cxx:1248 AliAnalysisTaskReducedTree.cxx:1249 AliAnalysisTaskReducedTree.cxx:1250 AliAnalysisTaskReducedTree.cxx:1251 AliAnalysisTaskReducedTree.cxx:1252 AliAnalysisTaskReducedTree.cxx:1253 AliAnalysisTaskReducedTree.cxx:1254 AliAnalysisTaskReducedTree.cxx:1255 AliAnalysisTaskReducedTree.cxx:1256 AliAnalysisTaskReducedTree.cxx:1257 AliAnalysisTaskReducedTree.cxx:1258 AliAnalysisTaskReducedTree.cxx:1259 AliAnalysisTaskReducedTree.cxx:1260 AliAnalysisTaskReducedTree.cxx:1261 AliAnalysisTaskReducedTree.cxx:1262 AliAnalysisTaskReducedTree.cxx:1263 AliAnalysisTaskReducedTree.cxx:1264 AliAnalysisTaskReducedTree.cxx:1265 AliAnalysisTaskReducedTree.cxx:1266 AliAnalysisTaskReducedTree.cxx:1267 AliAnalysisTaskReducedTree.cxx:1268 AliAnalysisTaskReducedTree.cxx:1269 AliAnalysisTaskReducedTree.cxx:1270 AliAnalysisTaskReducedTree.cxx:1271 AliAnalysisTaskReducedTree.cxx:1272