ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

///////////////////////////////////////////////////////////////////////////
//
// AliAnalysisTaskSE for reading both reconstructed D0->Kpi candidates
// and like sign pairs and for drawing corresponding distributions
//
// Author: C.Di Giglio, carmelo.digiglio@ba.infn.it
///////////////////////////////////////////////////////////////////////////

#include <TSystem.h>
#include <TROOT.h>
#include <TClonesArray.h>
#include <TList.h>
#include <TH1F.h>

#include "AliAnalysisManager.h"
#include "AliAODHandler.h"
#include "AliAODEvent.h"
#include "AliAODVertex.h"
#include "AliAODTrack.h"
#include "AliAODRecoDecayHF2Prong.h"
#include "AliAnalysisVertexingHF.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisTaskSEBkgLikeSignD0.h"

ClassImp(AliAnalysisTaskSEBkgLikeSignD0)

//________________________________________________________________________
AliAnalysisTaskSEBkgLikeSignD0::AliAnalysisTaskSEBkgLikeSignD0():
AliAnalysisTaskSE(),
fOutput(0), 
fHistMassD0(0),
fHistMassLS(0),
fHistCtsD0(0),           
fHistCtsLS(0),
fHistCtsLSpos(0),
fHistCtsLSneg(0),
fHistCPtaD0(0),          
fHistCPtaLS(0),
fHistd0d0D0(0),          
fHistd0d0LS(0),
fHistDCAD0(0),           
fHistDCALS(0),
fVHF(0),
fNentries(0),
fTotPosPairs(0),
fTotNegPairs(0),
fLsNormalization(1.)
{
  //
  // Default constructor
  //
}

//________________________________________________________________________
AliAnalysisTaskSEBkgLikeSignD0::AliAnalysisTaskSEBkgLikeSignD0(const char *name):
AliAnalysisTaskSE(name),
fOutput(0),
fHistMassD0(0),
fHistMassLS(0),
fHistCtsD0(0),
fHistCtsLS(0),
fHistCtsLSpos(0),
fHistCtsLSneg(0),
fHistCPtaD0(0),
fHistCPtaLS(0),
fHistd0d0D0(0),
fHistd0d0LS(0),
fHistDCAD0(0),
fHistDCALS(0),
fVHF(0),
fNentries(0),
fTotPosPairs(0),
fTotNegPairs(0),
fLsNormalization(1.)
{
  //
  // Standard constructor
  //
  // Output slot #1 writes into a TList container
  DefineOutput(1,TList::Class());  //My private output
  // Output slot #2 writes into a TH1F container
  DefineOutput(2,TH1F::Class());  //My private output

}

//________________________________________________________________________
AliAnalysisTaskSEBkgLikeSignD0::~AliAnalysisTaskSEBkgLikeSignD0()
{
  // Destructor
  if (fOutput) {
    delete fOutput;
    fOutput = 0;
  }

  if (fVHF) {
    delete fVHF;
    fVHF = 0;
  }

  if (fNentries){
    delete fNentries;
    fNentries = 0;
  }

}
//________________________________________________________________________
void AliAnalysisTaskSEBkgLikeSignD0::Init()
{
  // Initialization

  if(fDebug > 1) printf("AnalysisTaskSEBkgLikeSignD0::Init() \n");

  gROOT->LoadMacro("ConfigVertexingHF.C");

  fVHF = (AliAnalysisVertexingHF*)gROOT->ProcessLine("ConfigVertexingHF()");
  //fVHF->SetD0toKpiCuts(0.7,0.02,0.8,0.7,0.7,1,1,-0.00025,0.8);
  fVHF->PrintStatus();

  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEBkgLikeSignD0::UserCreateOutputObjects()
{
  // Create the output container
  //
  if(fDebug > 1) printf("AnalysisTaskSEBkgLikeSignD0::UserCreateOutputObjects() \n");

  // Several histograms are more conveniently managed in a TList
  fOutput = new TList();
  fOutput->SetOwner();

  fHistMassD0 = new TH1F("fHistMassD0", "D0 invariant mass; M [GeV]; Entries",200,1.765,1.965);
  fHistMassD0->Sumw2();
  fHistMassD0->SetMinimum(0);
  fOutput->Add(fHistMassD0);

  fHistMassLS = new TH1F("fHistMassLS", "Like sign pairs invariant mass; M [GeV]; Entries",200,1.765,1.965);
  fHistMassLS->Sumw2();
  fHistMassLS->SetMinimum(0);
  fOutput->Add(fHistMassLS);

  fHistCtsD0 = new TH1F("fHistCtsD0", "D0 cosine of decay angle; Cos#Theta*; Entries",200,-1.,1.);
  fHistCtsD0->Sumw2();
  fHistCtsD0->SetMinimum(0);
  fOutput->Add(fHistCtsD0);

  fHistCtsLS = new TH1F("fHistCtsLS", "Like sign pairs cosine of decay angle; Cos#Theta*; Entries",200,-1.,1.);
  fHistCtsLS->Sumw2();
  fHistCtsLS->SetMinimum(0);
  fOutput->Add(fHistCtsLS);

  fHistCtsLSpos = new TH1F("fHistCtsLSpos", "Like sign ++ pairs cosine of decay angle; Cos#Theta*; Entries",200,-1.,1.);
  fHistCtsLSpos->Sumw2();
  fHistCtsLSpos->SetMinimum(0);
  fOutput->Add(fHistCtsLSpos);

  fHistCtsLSneg = new TH1F("fHistCtsLSneg", "Like sign -- pairs cosine of decay angle; Cos#Theta*; Entries",200,-1.,1.);
  fHistCtsLSneg->Sumw2();
  fHistCtsLSneg->SetMinimum(0);
  fOutput->Add(fHistCtsLSneg);

  fHistCPtaD0 = new TH1F("fHistCPtaD0", "D0 cosine of pointing angle; Cos#Theta_{point}; Entries",200,0,1.);
  fHistCPtaD0->Sumw2();
  fHistCPtaD0->SetMinimum(0);
  fOutput->Add(fHistCPtaD0);

  fHistCPtaLS = new TH1F("fHistCPtaLS", "Like sign pairs cosine of pointing angle; Cos#Theta_{point}; Entries",200,0,1.);
  fHistCPtaLS->Sumw2();
  fHistCPtaLS->SetMinimum(0);
  fOutput->Add(fHistCPtaLS);

  fHistd0d0D0 = new TH1F("fHistd0d0D0", "D0 product of impact parameters; d0xd0 [#mu m^{2}]; Entries",200,-100000.,100000.);
  fHistd0d0D0->Sumw2(); 
  fHistd0d0D0->SetMinimum(0);
  fOutput->Add(fHistd0d0D0);

  fHistd0d0LS = new TH1F("fHistd0d0LS", "Like sign pairs product of impact parameters; d0xd0 [#mu m^{2}]; Entries",200,-100000.,100000.);
  fHistd0d0LS->Sumw2();
  fHistd0d0LS->SetMinimum(0);
  fOutput->Add(fHistd0d0LS);

  fHistDCAD0 = new TH1F("fHistDCAD0", "D0 distance of closest approach; dca [10^{2}#mu m]; Entries",100,0.,5.);
  fHistDCAD0->Sumw2(); 
  fHistDCAD0->SetMinimum(0);
  fOutput->Add(fHistDCAD0);

  fHistDCALS = new TH1F("fHistDCALS", "Like sign pairs distance of closest approach; dca [10^{2}#mu m]; Entries",100,0.,5.);
  fHistDCALS->Sumw2(); 
  fHistDCALS->SetMinimum(0);
  fOutput->Add(fHistDCALS);

  fNentries=new TH1F("nentriesLS", "Look at the number of entries! it is = to the  number of AODs", 2,1.,2.);

  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEBkgLikeSignD0::UserExec(Option_t */*option*/)
{
  // Execute analysis for current event:
  // heavy flavor candidates association to MC truth
  
  AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());

  TClonesArray *arrayD0toKpi = 0;
  TClonesArray *arrayLikeSign = 0;

  if(!aod && AODEvent() && IsStandardAOD()) {
    // In case there is an AOD handler writing a standard AOD, use the AOD 
    // event in memory rather than the input (ESD) event.    
    aod = dynamic_cast<AliAODEvent*> (AODEvent());
    // in this case the braches in the deltaAOD (AliAOD.VertexingHF.root)
    // have to taken from the AOD event hold by the AliAODExtension
    AliAODHandler* aodHandler = (AliAODHandler*) 
      ((AliAnalysisManager::GetAnalysisManager())->GetOutputEventHandler());
    if(aodHandler->GetExtensions()) {
      AliAODExtension *ext = (AliAODExtension*)aodHandler->GetExtensions()->FindObject("AliAOD.VertexingHF.root");
      AliAODEvent *aodFromExt = ext->GetAOD();
      // load D0 candidates                                                   
      arrayD0toKpi=(TClonesArray*)aodFromExt->GetList()->FindObject("D0toKpi");
      // load like sign candidates
      arrayLikeSign=(TClonesArray*)aodFromExt->GetList()->FindObject("LikeSign2Prong");
    }
  } else if(aod) {
    // load D0 candidates                                                   
    arrayD0toKpi=(TClonesArray*)aod->GetList()->FindObject("D0toKpi");
    // load like sign candidates
    arrayLikeSign=(TClonesArray*)aod->GetList()->FindObject("LikeSign2Prong");
  }


  if(!aod || !arrayD0toKpi) {
    printf("AliAnalysisTaskSEBkgLikeSignD0::UserExec: D0toKpi branch not found!\n");
    return;
  }
  if(!arrayLikeSign) {
    printf("AliAnalysisTaskSEBkgLikeSignD0::UserExec: LikeSign2Prong branch not found!\n");
    return;
  }

  // fix for temporary bug in ESDfilter 
  // the AODs with null vertex pointer didn't pass the PhysSel
  if(!aod->GetPrimaryVertex() || TMath::Abs(aod->GetMagneticField())<0.001) return;


  // AOD primary vertex
  AliAODVertex *vtx1 = (AliAODVertex*)aod->GetPrimaryVertex();

  // make trkIDtoEntry register (temporary)
  Int_t trkIDtoEntry[100000];
  for(Int_t it=0;it<aod->GetNumberOfTracks();it++) {
    AliAODTrack *track = dynamic_cast<AliAODTrack*>(aod->GetTrack(it));
    if(!track) AliFatal("Not a standard AOD");
    trkIDtoEntry[track->GetID()]=it;
  }

  //histogram filled with 1 for every AOD
  fNentries->Fill(1);
  PostData(2,fNentries);

  // loop over Like sign candidates
  Int_t nPosPairs=0,nNegPairs=0;
  Int_t nLikeSign = arrayLikeSign->GetEntriesFast();
  if(fDebug>1) printf("+++\n+++Number of like sign pairs ---> %d \n+++\n", nLikeSign);

  for(Int_t iLikeSign = 0; iLikeSign < nLikeSign; iLikeSign++) {
    AliAODRecoDecayHF2Prong *d = (AliAODRecoDecayHF2Prong*)arrayLikeSign->UncheckedAt(iLikeSign);
    Bool_t unsetvtx=kFALSE;
    if(!d->GetOwnPrimaryVtx()) {
        d->SetOwnPrimaryVtx(vtx1); // needed to compute all variables
        unsetvtx=kTRUE;
    }
    /*
    Int_t okD0ls=0; Int_t okD0barls=0;
    //if(d->SelectD0(fVHF->GetD0toKpiCuts(),okD0ls,okD0barls)) {
    if(d) {
       AliAODTrack *trk0 = (AliAODTrack*)d->GetDaughter(0);
       if(!trk0) {
          trk0=aod->GetTrack(trkIDtoEntry[d->GetProngID(0)]);
          printf("references to standard AOD not available \n");
       }
       if(okD0ls) fHistMassLS->Fill(d->InvMassD0());
       if(okD0barls) fHistMassLS->Fill(d->InvMassD0bar());
       fHistCPtaLS->Fill(d->CosPointingAngle());
       fHistd0d0LS->Fill(1e8*d->Prodd0d0());
       if(okD0ls) fHistCtsLS->Fill(d->CosThetaStarD0());
       if(okD0barls) fHistCtsLS->Fill(d->CosThetaStarD0bar());
       fHistDCALS->Fill(100*d->GetDCA());
       //PostData(1,fOutput);
       if((trk0->Charge())==1) {
          nPosPairs++;
          fHistCtsLSpos->Fill(d->CosThetaStarD0());
          //PostData(1,fOutput);
        } else {
          nNegPairs++;
          fHistCtsLSneg->Fill(d->CosThetaStarD0());
          //PostData(1,fOutput);
        }
      PostData(1,fOutput);
      }
    */
    if(unsetvtx) d->UnsetOwnPrimaryVtx();
  }

  if(fDebug>1) printf("------------ N. of positive pairs in Event ----- %d \n", nPosPairs);
  if(fDebug>1) printf("------------ N. of negative pairs in Event ----- %d \n", nNegPairs);

  fTotPosPairs += nPosPairs;
  fTotNegPairs += nNegPairs;

  // loop over D0 candidates
  Int_t nD0toKpi = arrayD0toKpi->GetEntriesFast();
  if(fDebug>1) printf("Number of like D0 -> Kpi candidates ---> %d \n", nD0toKpi);

  for (Int_t iD0toKpi = 0; iD0toKpi < nD0toKpi; iD0toKpi++) {
    AliAODRecoDecayHF2Prong *d = (AliAODRecoDecayHF2Prong*)arrayD0toKpi->UncheckedAt(iD0toKpi);
    Bool_t unsetvtx=kFALSE;
    if(!d->GetOwnPrimaryVtx()) {
      d->SetOwnPrimaryVtx(vtx1); // needed to compute all variables
      unsetvtx=kTRUE;
    }
    //Int_t okD0=0; Int_t okD0bar=0;
    //if(d->SelectD0(fVHF->GetD0toKpiCuts(),okD0,okD0bar)) {
    fHistMassD0->Fill(d->InvMassD0());
    fHistMassD0->Fill(d->InvMassD0bar());
    fHistCtsD0->Fill(d->CosThetaStarD0());
    fHistCtsD0->Fill(d->CosThetaStarD0bar());
    fHistd0d0D0->Fill(1e8*d->Prodd0d0());
    fHistCPtaD0->Fill(d->CosPointingAngle());
    fHistDCAD0->Fill(100*d->GetDCA());
    PostData(1,fOutput);
    
    if(unsetvtx) d->UnsetOwnPrimaryVtx();
  }

  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEBkgLikeSignD0::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  //
  if(fDebug > 1) printf("AnalysisTaskSEBkgLikeSignD0: Terminate() \n");

  fOutput = dynamic_cast<TList*> (GetOutputData(1));
  if (!fOutput) {     
    printf("ERROR: fOutput not available\n");
    return;
  }

  fLsNormalization = 2.*TMath::Sqrt(fTotPosPairs*fTotNegPairs); 

  fHistMassD0   = dynamic_cast<TH1F*>(fOutput->FindObject("fHistMassD0"));
  fHistMassLS   = dynamic_cast<TH1F*>(fOutput->FindObject("fHistMassLS"));
  fHistCtsD0    = dynamic_cast<TH1F*>(fOutput->FindObject("fHistCtsD0"));
  fHistCtsLS    = dynamic_cast<TH1F*>(fOutput->FindObject("fHistCtsLS"));
  fHistCtsLSpos = dynamic_cast<TH1F*>(fOutput->FindObject("fHistCtsLSpos"));
  fHistCtsLSneg = dynamic_cast<TH1F*>(fOutput->FindObject("fHistCtsLSneg"));
  fHistCPtaD0   = dynamic_cast<TH1F*>(fOutput->FindObject("fHistCPtaD0"));
  fHistCPtaLS   = dynamic_cast<TH1F*>(fOutput->FindObject("fHistCPtaLS"));
  fHistd0d0D0   = dynamic_cast<TH1F*>(fOutput->FindObject("fHistd0d0D0"));
  fHistd0d0LS   = dynamic_cast<TH1F*>(fOutput->FindObject("fHistd0d0LS"));
  fHistDCAD0    = dynamic_cast<TH1F*>(fOutput->FindObject("fHistDCAD0"));
  fHistDCALS    = dynamic_cast<TH1F*>(fOutput->FindObject("fHistDCALS"));

  if(fLsNormalization>0) {
    if(fHistMassLS) fHistMassLS->Scale((1/fLsNormalization)*fHistMassLS->GetEntries());
    if(fHistCtsLS) fHistCtsLS->Scale((1/fLsNormalization)*fHistCtsLS->GetEntries());
    if(fHistCtsLSpos) fHistCtsLSpos->Scale((1/fLsNormalization)*fHistCtsLSpos->GetEntries());
    if(fHistCtsLSneg) fHistCtsLSneg->Scale((1/fLsNormalization)*fHistCtsLSneg->GetEntries());
    if(fHistCPtaLS) fHistCPtaLS->Scale((1/fLsNormalization)*fHistCPtaLS->GetEntries());
    if(fHistd0d0LS) fHistd0d0LS->Scale((1/fLsNormalization)*fHistd0d0LS->GetEntries());
    if(fHistDCALS) fHistDCALS->Scale((1/fLsNormalization)*fHistDCALS->GetEntries());
  }

  return;
}
 AliAnalysisTaskSEBkgLikeSignD0.cxx:1
 AliAnalysisTaskSEBkgLikeSignD0.cxx:2
 AliAnalysisTaskSEBkgLikeSignD0.cxx:3
 AliAnalysisTaskSEBkgLikeSignD0.cxx:4
 AliAnalysisTaskSEBkgLikeSignD0.cxx:5
 AliAnalysisTaskSEBkgLikeSignD0.cxx:6
 AliAnalysisTaskSEBkgLikeSignD0.cxx:7
 AliAnalysisTaskSEBkgLikeSignD0.cxx:8
 AliAnalysisTaskSEBkgLikeSignD0.cxx:9
 AliAnalysisTaskSEBkgLikeSignD0.cxx:10
 AliAnalysisTaskSEBkgLikeSignD0.cxx:11
 AliAnalysisTaskSEBkgLikeSignD0.cxx:12
 AliAnalysisTaskSEBkgLikeSignD0.cxx:13
 AliAnalysisTaskSEBkgLikeSignD0.cxx:14
 AliAnalysisTaskSEBkgLikeSignD0.cxx:15
 AliAnalysisTaskSEBkgLikeSignD0.cxx:16
 AliAnalysisTaskSEBkgLikeSignD0.cxx:17
 AliAnalysisTaskSEBkgLikeSignD0.cxx:18
 AliAnalysisTaskSEBkgLikeSignD0.cxx:19
 AliAnalysisTaskSEBkgLikeSignD0.cxx:20
 AliAnalysisTaskSEBkgLikeSignD0.cxx:21
 AliAnalysisTaskSEBkgLikeSignD0.cxx:22
 AliAnalysisTaskSEBkgLikeSignD0.cxx:23
 AliAnalysisTaskSEBkgLikeSignD0.cxx:24
 AliAnalysisTaskSEBkgLikeSignD0.cxx:25
 AliAnalysisTaskSEBkgLikeSignD0.cxx:26
 AliAnalysisTaskSEBkgLikeSignD0.cxx:27
 AliAnalysisTaskSEBkgLikeSignD0.cxx:28
 AliAnalysisTaskSEBkgLikeSignD0.cxx:29
 AliAnalysisTaskSEBkgLikeSignD0.cxx:30
 AliAnalysisTaskSEBkgLikeSignD0.cxx:31
 AliAnalysisTaskSEBkgLikeSignD0.cxx:32
 AliAnalysisTaskSEBkgLikeSignD0.cxx:33
 AliAnalysisTaskSEBkgLikeSignD0.cxx:34
 AliAnalysisTaskSEBkgLikeSignD0.cxx:35
 AliAnalysisTaskSEBkgLikeSignD0.cxx:36
 AliAnalysisTaskSEBkgLikeSignD0.cxx:37
 AliAnalysisTaskSEBkgLikeSignD0.cxx:38
 AliAnalysisTaskSEBkgLikeSignD0.cxx:39
 AliAnalysisTaskSEBkgLikeSignD0.cxx:40
 AliAnalysisTaskSEBkgLikeSignD0.cxx:41
 AliAnalysisTaskSEBkgLikeSignD0.cxx:42
 AliAnalysisTaskSEBkgLikeSignD0.cxx:43
 AliAnalysisTaskSEBkgLikeSignD0.cxx:44
 AliAnalysisTaskSEBkgLikeSignD0.cxx:45
 AliAnalysisTaskSEBkgLikeSignD0.cxx:46
 AliAnalysisTaskSEBkgLikeSignD0.cxx:47
 AliAnalysisTaskSEBkgLikeSignD0.cxx:48
 AliAnalysisTaskSEBkgLikeSignD0.cxx:49
 AliAnalysisTaskSEBkgLikeSignD0.cxx:50
 AliAnalysisTaskSEBkgLikeSignD0.cxx:51
 AliAnalysisTaskSEBkgLikeSignD0.cxx:52
 AliAnalysisTaskSEBkgLikeSignD0.cxx:53
 AliAnalysisTaskSEBkgLikeSignD0.cxx:54
 AliAnalysisTaskSEBkgLikeSignD0.cxx:55
 AliAnalysisTaskSEBkgLikeSignD0.cxx:56
 AliAnalysisTaskSEBkgLikeSignD0.cxx:57
 AliAnalysisTaskSEBkgLikeSignD0.cxx:58
 AliAnalysisTaskSEBkgLikeSignD0.cxx:59
 AliAnalysisTaskSEBkgLikeSignD0.cxx:60
 AliAnalysisTaskSEBkgLikeSignD0.cxx:61
 AliAnalysisTaskSEBkgLikeSignD0.cxx:62
 AliAnalysisTaskSEBkgLikeSignD0.cxx:63
 AliAnalysisTaskSEBkgLikeSignD0.cxx:64
 AliAnalysisTaskSEBkgLikeSignD0.cxx:65
 AliAnalysisTaskSEBkgLikeSignD0.cxx:66
 AliAnalysisTaskSEBkgLikeSignD0.cxx:67
 AliAnalysisTaskSEBkgLikeSignD0.cxx:68
 AliAnalysisTaskSEBkgLikeSignD0.cxx:69
 AliAnalysisTaskSEBkgLikeSignD0.cxx:70
 AliAnalysisTaskSEBkgLikeSignD0.cxx:71
 AliAnalysisTaskSEBkgLikeSignD0.cxx:72
 AliAnalysisTaskSEBkgLikeSignD0.cxx:73
 AliAnalysisTaskSEBkgLikeSignD0.cxx:74
 AliAnalysisTaskSEBkgLikeSignD0.cxx:75
 AliAnalysisTaskSEBkgLikeSignD0.cxx:76
 AliAnalysisTaskSEBkgLikeSignD0.cxx:77
 AliAnalysisTaskSEBkgLikeSignD0.cxx:78
 AliAnalysisTaskSEBkgLikeSignD0.cxx:79
 AliAnalysisTaskSEBkgLikeSignD0.cxx:80
 AliAnalysisTaskSEBkgLikeSignD0.cxx:81
 AliAnalysisTaskSEBkgLikeSignD0.cxx:82
 AliAnalysisTaskSEBkgLikeSignD0.cxx:83
 AliAnalysisTaskSEBkgLikeSignD0.cxx:84
 AliAnalysisTaskSEBkgLikeSignD0.cxx:85
 AliAnalysisTaskSEBkgLikeSignD0.cxx:86
 AliAnalysisTaskSEBkgLikeSignD0.cxx:87
 AliAnalysisTaskSEBkgLikeSignD0.cxx:88
 AliAnalysisTaskSEBkgLikeSignD0.cxx:89
 AliAnalysisTaskSEBkgLikeSignD0.cxx:90
 AliAnalysisTaskSEBkgLikeSignD0.cxx:91
 AliAnalysisTaskSEBkgLikeSignD0.cxx:92
 AliAnalysisTaskSEBkgLikeSignD0.cxx:93
 AliAnalysisTaskSEBkgLikeSignD0.cxx:94
 AliAnalysisTaskSEBkgLikeSignD0.cxx:95
 AliAnalysisTaskSEBkgLikeSignD0.cxx:96
 AliAnalysisTaskSEBkgLikeSignD0.cxx:97
 AliAnalysisTaskSEBkgLikeSignD0.cxx:98
 AliAnalysisTaskSEBkgLikeSignD0.cxx:99
 AliAnalysisTaskSEBkgLikeSignD0.cxx:100
 AliAnalysisTaskSEBkgLikeSignD0.cxx:101
 AliAnalysisTaskSEBkgLikeSignD0.cxx:102
 AliAnalysisTaskSEBkgLikeSignD0.cxx:103
 AliAnalysisTaskSEBkgLikeSignD0.cxx:104
 AliAnalysisTaskSEBkgLikeSignD0.cxx:105
 AliAnalysisTaskSEBkgLikeSignD0.cxx:106
 AliAnalysisTaskSEBkgLikeSignD0.cxx:107
 AliAnalysisTaskSEBkgLikeSignD0.cxx:108
 AliAnalysisTaskSEBkgLikeSignD0.cxx:109
 AliAnalysisTaskSEBkgLikeSignD0.cxx:110
 AliAnalysisTaskSEBkgLikeSignD0.cxx:111
 AliAnalysisTaskSEBkgLikeSignD0.cxx:112
 AliAnalysisTaskSEBkgLikeSignD0.cxx:113
 AliAnalysisTaskSEBkgLikeSignD0.cxx:114
 AliAnalysisTaskSEBkgLikeSignD0.cxx:115
 AliAnalysisTaskSEBkgLikeSignD0.cxx:116
 AliAnalysisTaskSEBkgLikeSignD0.cxx:117
 AliAnalysisTaskSEBkgLikeSignD0.cxx:118
 AliAnalysisTaskSEBkgLikeSignD0.cxx:119
 AliAnalysisTaskSEBkgLikeSignD0.cxx:120
 AliAnalysisTaskSEBkgLikeSignD0.cxx:121
 AliAnalysisTaskSEBkgLikeSignD0.cxx:122
 AliAnalysisTaskSEBkgLikeSignD0.cxx:123
 AliAnalysisTaskSEBkgLikeSignD0.cxx:124
 AliAnalysisTaskSEBkgLikeSignD0.cxx:125
 AliAnalysisTaskSEBkgLikeSignD0.cxx:126
 AliAnalysisTaskSEBkgLikeSignD0.cxx:127
 AliAnalysisTaskSEBkgLikeSignD0.cxx:128
 AliAnalysisTaskSEBkgLikeSignD0.cxx:129
 AliAnalysisTaskSEBkgLikeSignD0.cxx:130
 AliAnalysisTaskSEBkgLikeSignD0.cxx:131
 AliAnalysisTaskSEBkgLikeSignD0.cxx:132
 AliAnalysisTaskSEBkgLikeSignD0.cxx:133
 AliAnalysisTaskSEBkgLikeSignD0.cxx:134
 AliAnalysisTaskSEBkgLikeSignD0.cxx:135
 AliAnalysisTaskSEBkgLikeSignD0.cxx:136
 AliAnalysisTaskSEBkgLikeSignD0.cxx:137
 AliAnalysisTaskSEBkgLikeSignD0.cxx:138
 AliAnalysisTaskSEBkgLikeSignD0.cxx:139
 AliAnalysisTaskSEBkgLikeSignD0.cxx:140
 AliAnalysisTaskSEBkgLikeSignD0.cxx:141
 AliAnalysisTaskSEBkgLikeSignD0.cxx:142
 AliAnalysisTaskSEBkgLikeSignD0.cxx:143
 AliAnalysisTaskSEBkgLikeSignD0.cxx:144
 AliAnalysisTaskSEBkgLikeSignD0.cxx:145
 AliAnalysisTaskSEBkgLikeSignD0.cxx:146
 AliAnalysisTaskSEBkgLikeSignD0.cxx:147
 AliAnalysisTaskSEBkgLikeSignD0.cxx:148
 AliAnalysisTaskSEBkgLikeSignD0.cxx:149
 AliAnalysisTaskSEBkgLikeSignD0.cxx:150
 AliAnalysisTaskSEBkgLikeSignD0.cxx:151
 AliAnalysisTaskSEBkgLikeSignD0.cxx:152
 AliAnalysisTaskSEBkgLikeSignD0.cxx:153
 AliAnalysisTaskSEBkgLikeSignD0.cxx:154
 AliAnalysisTaskSEBkgLikeSignD0.cxx:155
 AliAnalysisTaskSEBkgLikeSignD0.cxx:156
 AliAnalysisTaskSEBkgLikeSignD0.cxx:157
 AliAnalysisTaskSEBkgLikeSignD0.cxx:158
 AliAnalysisTaskSEBkgLikeSignD0.cxx:159
 AliAnalysisTaskSEBkgLikeSignD0.cxx:160
 AliAnalysisTaskSEBkgLikeSignD0.cxx:161
 AliAnalysisTaskSEBkgLikeSignD0.cxx:162
 AliAnalysisTaskSEBkgLikeSignD0.cxx:163
 AliAnalysisTaskSEBkgLikeSignD0.cxx:164
 AliAnalysisTaskSEBkgLikeSignD0.cxx:165
 AliAnalysisTaskSEBkgLikeSignD0.cxx:166
 AliAnalysisTaskSEBkgLikeSignD0.cxx:167
 AliAnalysisTaskSEBkgLikeSignD0.cxx:168
 AliAnalysisTaskSEBkgLikeSignD0.cxx:169
 AliAnalysisTaskSEBkgLikeSignD0.cxx:170
 AliAnalysisTaskSEBkgLikeSignD0.cxx:171
 AliAnalysisTaskSEBkgLikeSignD0.cxx:172
 AliAnalysisTaskSEBkgLikeSignD0.cxx:173
 AliAnalysisTaskSEBkgLikeSignD0.cxx:174
 AliAnalysisTaskSEBkgLikeSignD0.cxx:175
 AliAnalysisTaskSEBkgLikeSignD0.cxx:176
 AliAnalysisTaskSEBkgLikeSignD0.cxx:177
 AliAnalysisTaskSEBkgLikeSignD0.cxx:178
 AliAnalysisTaskSEBkgLikeSignD0.cxx:179
 AliAnalysisTaskSEBkgLikeSignD0.cxx:180
 AliAnalysisTaskSEBkgLikeSignD0.cxx:181
 AliAnalysisTaskSEBkgLikeSignD0.cxx:182
 AliAnalysisTaskSEBkgLikeSignD0.cxx:183
 AliAnalysisTaskSEBkgLikeSignD0.cxx:184
 AliAnalysisTaskSEBkgLikeSignD0.cxx:185
 AliAnalysisTaskSEBkgLikeSignD0.cxx:186
 AliAnalysisTaskSEBkgLikeSignD0.cxx:187
 AliAnalysisTaskSEBkgLikeSignD0.cxx:188
 AliAnalysisTaskSEBkgLikeSignD0.cxx:189
 AliAnalysisTaskSEBkgLikeSignD0.cxx:190
 AliAnalysisTaskSEBkgLikeSignD0.cxx:191
 AliAnalysisTaskSEBkgLikeSignD0.cxx:192
 AliAnalysisTaskSEBkgLikeSignD0.cxx:193
 AliAnalysisTaskSEBkgLikeSignD0.cxx:194
 AliAnalysisTaskSEBkgLikeSignD0.cxx:195
 AliAnalysisTaskSEBkgLikeSignD0.cxx:196
 AliAnalysisTaskSEBkgLikeSignD0.cxx:197
 AliAnalysisTaskSEBkgLikeSignD0.cxx:198
 AliAnalysisTaskSEBkgLikeSignD0.cxx:199
 AliAnalysisTaskSEBkgLikeSignD0.cxx:200
 AliAnalysisTaskSEBkgLikeSignD0.cxx:201
 AliAnalysisTaskSEBkgLikeSignD0.cxx:202
 AliAnalysisTaskSEBkgLikeSignD0.cxx:203
 AliAnalysisTaskSEBkgLikeSignD0.cxx:204
 AliAnalysisTaskSEBkgLikeSignD0.cxx:205
 AliAnalysisTaskSEBkgLikeSignD0.cxx:206
 AliAnalysisTaskSEBkgLikeSignD0.cxx:207
 AliAnalysisTaskSEBkgLikeSignD0.cxx:208
 AliAnalysisTaskSEBkgLikeSignD0.cxx:209
 AliAnalysisTaskSEBkgLikeSignD0.cxx:210
 AliAnalysisTaskSEBkgLikeSignD0.cxx:211
 AliAnalysisTaskSEBkgLikeSignD0.cxx:212
 AliAnalysisTaskSEBkgLikeSignD0.cxx:213
 AliAnalysisTaskSEBkgLikeSignD0.cxx:214
 AliAnalysisTaskSEBkgLikeSignD0.cxx:215
 AliAnalysisTaskSEBkgLikeSignD0.cxx:216
 AliAnalysisTaskSEBkgLikeSignD0.cxx:217
 AliAnalysisTaskSEBkgLikeSignD0.cxx:218
 AliAnalysisTaskSEBkgLikeSignD0.cxx:219
 AliAnalysisTaskSEBkgLikeSignD0.cxx:220
 AliAnalysisTaskSEBkgLikeSignD0.cxx:221
 AliAnalysisTaskSEBkgLikeSignD0.cxx:222
 AliAnalysisTaskSEBkgLikeSignD0.cxx:223
 AliAnalysisTaskSEBkgLikeSignD0.cxx:224
 AliAnalysisTaskSEBkgLikeSignD0.cxx:225
 AliAnalysisTaskSEBkgLikeSignD0.cxx:226
 AliAnalysisTaskSEBkgLikeSignD0.cxx:227
 AliAnalysisTaskSEBkgLikeSignD0.cxx:228
 AliAnalysisTaskSEBkgLikeSignD0.cxx:229
 AliAnalysisTaskSEBkgLikeSignD0.cxx:230
 AliAnalysisTaskSEBkgLikeSignD0.cxx:231
 AliAnalysisTaskSEBkgLikeSignD0.cxx:232
 AliAnalysisTaskSEBkgLikeSignD0.cxx:233
 AliAnalysisTaskSEBkgLikeSignD0.cxx:234
 AliAnalysisTaskSEBkgLikeSignD0.cxx:235
 AliAnalysisTaskSEBkgLikeSignD0.cxx:236
 AliAnalysisTaskSEBkgLikeSignD0.cxx:237
 AliAnalysisTaskSEBkgLikeSignD0.cxx:238
 AliAnalysisTaskSEBkgLikeSignD0.cxx:239
 AliAnalysisTaskSEBkgLikeSignD0.cxx:240
 AliAnalysisTaskSEBkgLikeSignD0.cxx:241
 AliAnalysisTaskSEBkgLikeSignD0.cxx:242
 AliAnalysisTaskSEBkgLikeSignD0.cxx:243
 AliAnalysisTaskSEBkgLikeSignD0.cxx:244
 AliAnalysisTaskSEBkgLikeSignD0.cxx:245
 AliAnalysisTaskSEBkgLikeSignD0.cxx:246
 AliAnalysisTaskSEBkgLikeSignD0.cxx:247
 AliAnalysisTaskSEBkgLikeSignD0.cxx:248
 AliAnalysisTaskSEBkgLikeSignD0.cxx:249
 AliAnalysisTaskSEBkgLikeSignD0.cxx:250
 AliAnalysisTaskSEBkgLikeSignD0.cxx:251
 AliAnalysisTaskSEBkgLikeSignD0.cxx:252
 AliAnalysisTaskSEBkgLikeSignD0.cxx:253
 AliAnalysisTaskSEBkgLikeSignD0.cxx:254
 AliAnalysisTaskSEBkgLikeSignD0.cxx:255
 AliAnalysisTaskSEBkgLikeSignD0.cxx:256
 AliAnalysisTaskSEBkgLikeSignD0.cxx:257
 AliAnalysisTaskSEBkgLikeSignD0.cxx:258
 AliAnalysisTaskSEBkgLikeSignD0.cxx:259
 AliAnalysisTaskSEBkgLikeSignD0.cxx:260
 AliAnalysisTaskSEBkgLikeSignD0.cxx:261
 AliAnalysisTaskSEBkgLikeSignD0.cxx:262
 AliAnalysisTaskSEBkgLikeSignD0.cxx:263
 AliAnalysisTaskSEBkgLikeSignD0.cxx:264
 AliAnalysisTaskSEBkgLikeSignD0.cxx:265
 AliAnalysisTaskSEBkgLikeSignD0.cxx:266
 AliAnalysisTaskSEBkgLikeSignD0.cxx:267
 AliAnalysisTaskSEBkgLikeSignD0.cxx:268
 AliAnalysisTaskSEBkgLikeSignD0.cxx:269
 AliAnalysisTaskSEBkgLikeSignD0.cxx:270
 AliAnalysisTaskSEBkgLikeSignD0.cxx:271
 AliAnalysisTaskSEBkgLikeSignD0.cxx:272
 AliAnalysisTaskSEBkgLikeSignD0.cxx:273
 AliAnalysisTaskSEBkgLikeSignD0.cxx:274
 AliAnalysisTaskSEBkgLikeSignD0.cxx:275
 AliAnalysisTaskSEBkgLikeSignD0.cxx:276
 AliAnalysisTaskSEBkgLikeSignD0.cxx:277
 AliAnalysisTaskSEBkgLikeSignD0.cxx:278
 AliAnalysisTaskSEBkgLikeSignD0.cxx:279
 AliAnalysisTaskSEBkgLikeSignD0.cxx:280
 AliAnalysisTaskSEBkgLikeSignD0.cxx:281
 AliAnalysisTaskSEBkgLikeSignD0.cxx:282
 AliAnalysisTaskSEBkgLikeSignD0.cxx:283
 AliAnalysisTaskSEBkgLikeSignD0.cxx:284
 AliAnalysisTaskSEBkgLikeSignD0.cxx:285
 AliAnalysisTaskSEBkgLikeSignD0.cxx:286
 AliAnalysisTaskSEBkgLikeSignD0.cxx:287
 AliAnalysisTaskSEBkgLikeSignD0.cxx:288
 AliAnalysisTaskSEBkgLikeSignD0.cxx:289
 AliAnalysisTaskSEBkgLikeSignD0.cxx:290
 AliAnalysisTaskSEBkgLikeSignD0.cxx:291
 AliAnalysisTaskSEBkgLikeSignD0.cxx:292
 AliAnalysisTaskSEBkgLikeSignD0.cxx:293
 AliAnalysisTaskSEBkgLikeSignD0.cxx:294
 AliAnalysisTaskSEBkgLikeSignD0.cxx:295
 AliAnalysisTaskSEBkgLikeSignD0.cxx:296
 AliAnalysisTaskSEBkgLikeSignD0.cxx:297
 AliAnalysisTaskSEBkgLikeSignD0.cxx:298
 AliAnalysisTaskSEBkgLikeSignD0.cxx:299
 AliAnalysisTaskSEBkgLikeSignD0.cxx:300
 AliAnalysisTaskSEBkgLikeSignD0.cxx:301
 AliAnalysisTaskSEBkgLikeSignD0.cxx:302
 AliAnalysisTaskSEBkgLikeSignD0.cxx:303
 AliAnalysisTaskSEBkgLikeSignD0.cxx:304
 AliAnalysisTaskSEBkgLikeSignD0.cxx:305
 AliAnalysisTaskSEBkgLikeSignD0.cxx:306
 AliAnalysisTaskSEBkgLikeSignD0.cxx:307
 AliAnalysisTaskSEBkgLikeSignD0.cxx:308
 AliAnalysisTaskSEBkgLikeSignD0.cxx:309
 AliAnalysisTaskSEBkgLikeSignD0.cxx:310
 AliAnalysisTaskSEBkgLikeSignD0.cxx:311
 AliAnalysisTaskSEBkgLikeSignD0.cxx:312
 AliAnalysisTaskSEBkgLikeSignD0.cxx:313
 AliAnalysisTaskSEBkgLikeSignD0.cxx:314
 AliAnalysisTaskSEBkgLikeSignD0.cxx:315
 AliAnalysisTaskSEBkgLikeSignD0.cxx:316
 AliAnalysisTaskSEBkgLikeSignD0.cxx:317
 AliAnalysisTaskSEBkgLikeSignD0.cxx:318
 AliAnalysisTaskSEBkgLikeSignD0.cxx:319
 AliAnalysisTaskSEBkgLikeSignD0.cxx:320
 AliAnalysisTaskSEBkgLikeSignD0.cxx:321
 AliAnalysisTaskSEBkgLikeSignD0.cxx:322
 AliAnalysisTaskSEBkgLikeSignD0.cxx:323
 AliAnalysisTaskSEBkgLikeSignD0.cxx:324
 AliAnalysisTaskSEBkgLikeSignD0.cxx:325
 AliAnalysisTaskSEBkgLikeSignD0.cxx:326
 AliAnalysisTaskSEBkgLikeSignD0.cxx:327
 AliAnalysisTaskSEBkgLikeSignD0.cxx:328
 AliAnalysisTaskSEBkgLikeSignD0.cxx:329
 AliAnalysisTaskSEBkgLikeSignD0.cxx:330
 AliAnalysisTaskSEBkgLikeSignD0.cxx:331
 AliAnalysisTaskSEBkgLikeSignD0.cxx:332
 AliAnalysisTaskSEBkgLikeSignD0.cxx:333
 AliAnalysisTaskSEBkgLikeSignD0.cxx:334
 AliAnalysisTaskSEBkgLikeSignD0.cxx:335
 AliAnalysisTaskSEBkgLikeSignD0.cxx:336
 AliAnalysisTaskSEBkgLikeSignD0.cxx:337
 AliAnalysisTaskSEBkgLikeSignD0.cxx:338
 AliAnalysisTaskSEBkgLikeSignD0.cxx:339
 AliAnalysisTaskSEBkgLikeSignD0.cxx:340
 AliAnalysisTaskSEBkgLikeSignD0.cxx:341
 AliAnalysisTaskSEBkgLikeSignD0.cxx:342
 AliAnalysisTaskSEBkgLikeSignD0.cxx:343
 AliAnalysisTaskSEBkgLikeSignD0.cxx:344
 AliAnalysisTaskSEBkgLikeSignD0.cxx:345
 AliAnalysisTaskSEBkgLikeSignD0.cxx:346
 AliAnalysisTaskSEBkgLikeSignD0.cxx:347
 AliAnalysisTaskSEBkgLikeSignD0.cxx:348
 AliAnalysisTaskSEBkgLikeSignD0.cxx:349
 AliAnalysisTaskSEBkgLikeSignD0.cxx:350
 AliAnalysisTaskSEBkgLikeSignD0.cxx:351
 AliAnalysisTaskSEBkgLikeSignD0.cxx:352
 AliAnalysisTaskSEBkgLikeSignD0.cxx:353
 AliAnalysisTaskSEBkgLikeSignD0.cxx:354
 AliAnalysisTaskSEBkgLikeSignD0.cxx:355
 AliAnalysisTaskSEBkgLikeSignD0.cxx:356
 AliAnalysisTaskSEBkgLikeSignD0.cxx:357
 AliAnalysisTaskSEBkgLikeSignD0.cxx:358
 AliAnalysisTaskSEBkgLikeSignD0.cxx:359
 AliAnalysisTaskSEBkgLikeSignD0.cxx:360
 AliAnalysisTaskSEBkgLikeSignD0.cxx:361
 AliAnalysisTaskSEBkgLikeSignD0.cxx:362
 AliAnalysisTaskSEBkgLikeSignD0.cxx:363
 AliAnalysisTaskSEBkgLikeSignD0.cxx:364
 AliAnalysisTaskSEBkgLikeSignD0.cxx:365
 AliAnalysisTaskSEBkgLikeSignD0.cxx:366
 AliAnalysisTaskSEBkgLikeSignD0.cxx:367
 AliAnalysisTaskSEBkgLikeSignD0.cxx:368
 AliAnalysisTaskSEBkgLikeSignD0.cxx:369
 AliAnalysisTaskSEBkgLikeSignD0.cxx:370
 AliAnalysisTaskSEBkgLikeSignD0.cxx:371
 AliAnalysisTaskSEBkgLikeSignD0.cxx:372
 AliAnalysisTaskSEBkgLikeSignD0.cxx:373
 AliAnalysisTaskSEBkgLikeSignD0.cxx:374
 AliAnalysisTaskSEBkgLikeSignD0.cxx:375
 AliAnalysisTaskSEBkgLikeSignD0.cxx:376
 AliAnalysisTaskSEBkgLikeSignD0.cxx:377
 AliAnalysisTaskSEBkgLikeSignD0.cxx:378
 AliAnalysisTaskSEBkgLikeSignD0.cxx:379
 AliAnalysisTaskSEBkgLikeSignD0.cxx:380
 AliAnalysisTaskSEBkgLikeSignD0.cxx:381
 AliAnalysisTaskSEBkgLikeSignD0.cxx:382
 AliAnalysisTaskSEBkgLikeSignD0.cxx:383
 AliAnalysisTaskSEBkgLikeSignD0.cxx:384
 AliAnalysisTaskSEBkgLikeSignD0.cxx:385
 AliAnalysisTaskSEBkgLikeSignD0.cxx:386
 AliAnalysisTaskSEBkgLikeSignD0.cxx:387
 AliAnalysisTaskSEBkgLikeSignD0.cxx:388
 AliAnalysisTaskSEBkgLikeSignD0.cxx:389
 AliAnalysisTaskSEBkgLikeSignD0.cxx:390
 AliAnalysisTaskSEBkgLikeSignD0.cxx:391
 AliAnalysisTaskSEBkgLikeSignD0.cxx:392
 AliAnalysisTaskSEBkgLikeSignD0.cxx:393
 AliAnalysisTaskSEBkgLikeSignD0.cxx:394
 AliAnalysisTaskSEBkgLikeSignD0.cxx:395
 AliAnalysisTaskSEBkgLikeSignD0.cxx:396