ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2008, 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 the reconstruction of heavy flavor
// decays, using the class AliAnalysisVertexingHF.
//
// Author: A.Dainese, andrea.dainese@lnl.infn.it
/////////////////////////////////////////////////////////////

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

#include "AliVEvent.h"
#include "AliAODEvent.h"
#include "AliAODHandler.h"
#include "AliESDEvent.h"
#include "AliAnalysisVertexingHF.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisTaskSEVertexingHF.h"

#include "AliESDUtils.h"
#include "AliAODHFUtil.h"

#include "AliInputEventHandler.h"
#include "AliPIDResponse.h"

ClassImp(AliAnalysisTaskSEVertexingHF)


//________________________________________________________________________
AliAnalysisTaskSEVertexingHF::AliAnalysisTaskSEVertexingHF():
AliAnalysisTaskSE(),
fVHF(0),
fListOfCuts(0),
fDeltaAODFileName("AliAOD.VertexingHF.root"),
fVerticesHFTClArr(0),
fD0toKpiTClArr(0),
fJPSItoEleTClArr(0),
fCharm3ProngTClArr(0),
fCharm4ProngTClArr(0),
fDstarTClArr(0),
fCascadesTClArr(0),
fLikeSign2ProngTClArr(0),
fLikeSign3ProngTClArr(0),
fHFUtilInfo(0)
{
  // Default constructor
}

//________________________________________________________________________
AliAnalysisTaskSEVertexingHF::AliAnalysisTaskSEVertexingHF(const char *name):
AliAnalysisTaskSE(name),
fVHF(0),
fListOfCuts(0),
fDeltaAODFileName("AliAOD.VertexingHF.root"),
fVerticesHFTClArr(0),
fD0toKpiTClArr(0),
fJPSItoEleTClArr(0),
fCharm3ProngTClArr(0),
fCharm4ProngTClArr(0),
fDstarTClArr(0),
fCascadesTClArr(0),
fLikeSign2ProngTClArr(0),
fLikeSign3ProngTClArr(0),
fHFUtilInfo(0)
{
  // Standard constructor

  DefineOutput(1,TList::Class()); // analysis cuts
}

//________________________________________________________________________
AliAnalysisTaskSEVertexingHF::~AliAnalysisTaskSEVertexingHF()
{
  // Destructor

  if(fListOfCuts) {
    delete fListOfCuts;
    fListOfCuts=NULL;
  }

}  

//________________________________________________________________________
void AliAnalysisTaskSEVertexingHF::Init()
{
  // Initialization
  // Instanciates vHF and loads its parameters

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

  if(gROOT->LoadMacro("ConfigVertexingHF.C")) {
    printf("AnalysisTaskSEVertexingHF::Init() \n Using $ALICE_ROOT/PWGHF/vertexingHF/ConfigVertexingHF.C\n");
    gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/ConfigVertexingHF.C");
  }

  fVHF = (AliAnalysisVertexingHF*)gROOT->ProcessLine("ConfigVertexingHF()");  
  fVHF->PrintStatus();


  // write the objects AliRDHFCuts to a list to store in the output

  fListOfCuts = fVHF->FillListOfCuts();

  PostData(1,fListOfCuts);

  AliAnalysisManager::GetAnalysisManager()->RegisterExtraFile(fDeltaAODFileName.Data());

  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEVertexingHF::UserCreateOutputObjects()
{
  // Create the output container
  //
  if(fDebug > 1) printf("AnalysisTaskSEVertexingHF::UserCreateOutPutData() \n");
  // Support both the case when the AOD + deltaAOD are produced in an ESD
  // analysis or if the deltaAOD is produced on an analysis on AOD's. (A.G. 27/04/09)
  if(!AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()) {
    Fatal("UserCreateOutputObjects", "This task needs an AOD handler");
    return;
  }   
  TString filename = fDeltaAODFileName;
  // When running on standard AOD to produce deltas, IsStandardAOD is never set,
  // If AODEvent is NULL, new branches have to be added to the new file(s) (A.G. 15/01/10)
  if(!IsStandardAOD() && AODEvent()) filename = "";
  if(!fVHF) {
    printf("AnalysisTaskSEVertexingHF::UserCreateOutPutData() \n ERROR! no fvHF!\n");
    return;
  }

  fVerticesHFTClArr = new TClonesArray("AliAODVertex", 0);
  fVerticesHFTClArr->SetName("VerticesHF");
  AddAODBranch("TClonesArray", &fVerticesHFTClArr, filename);

  if(fVHF->GetD0toKpi()) {
    fD0toKpiTClArr = new TClonesArray("AliAODRecoDecayHF2Prong", 0);
    fD0toKpiTClArr->SetName("D0toKpi");
    AddAODBranch("TClonesArray", &fD0toKpiTClArr, filename);
  }

  if(fVHF->GetJPSItoEle()) {
    fJPSItoEleTClArr = new TClonesArray("AliAODRecoDecayHF2Prong", 0);
    fJPSItoEleTClArr->SetName("JPSItoEle");
    AddAODBranch("TClonesArray", &fJPSItoEleTClArr, filename);
  }

  if(fVHF->Get3Prong()) {
    fCharm3ProngTClArr = new TClonesArray("AliAODRecoDecayHF3Prong", 0);
    fCharm3ProngTClArr->SetName("Charm3Prong");
    AddAODBranch("TClonesArray", &fCharm3ProngTClArr, filename);
  }

  if(fVHF->Get4Prong()) {
    fCharm4ProngTClArr = new TClonesArray("AliAODRecoDecayHF4Prong", 0);
    fCharm4ProngTClArr->SetName("Charm4Prong");
    AddAODBranch("TClonesArray", &fCharm4ProngTClArr, filename);
  }

  if(fVHF->GetDstar()) {
    fDstarTClArr = new TClonesArray("AliAODRecoCascadeHF", 0);
    fDstarTClArr->SetName("Dstar");
    AddAODBranch("TClonesArray", &fDstarTClArr, filename);
  }

  if(fVHF->GetCascades()){
    fCascadesTClArr = new TClonesArray("AliAODRecoCascadeHF", 0);
    fCascadesTClArr->SetName("CascadesHF");
    AddAODBranch("TClonesArray", &fCascadesTClArr, filename);
  }

  if(fVHF->GetLikeSign()) {                      
    fLikeSign2ProngTClArr = new TClonesArray("AliAODRecoDecayHF2Prong", 0);
    fLikeSign2ProngTClArr->SetName("LikeSign2Prong");
    AddAODBranch("TClonesArray", &fLikeSign2ProngTClArr, filename);
  }

  if(fVHF->GetLikeSign() && fVHF->Get3Prong()) {                      
    fLikeSign3ProngTClArr = new TClonesArray("AliAODRecoDecayHF3Prong", 0);
    fLikeSign3ProngTClArr->SetName("LikeSign3Prong");
    AddAODBranch("TClonesArray", &fLikeSign3ProngTClArr, filename);
  }

  //---Way to pass information temporarily not available in AOD---
  // no if() {
    fHFUtilInfo = new AliAODHFUtil("fHFUtilInfoC");
    fHFUtilInfo->SetName("fHFUtilInfo");
    AddAODBranch( "AliAODHFUtil", &fHFUtilInfo, filename);
  // }
  //--------------------------------------------------------------  

  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEVertexingHF::UserExec(Option_t */*option*/)
{
  // Execute analysis for current event:
  // heavy flavor vertexing
  
  AliVEvent *event = dynamic_cast<AliVEvent*> (InputEvent());
  // In case there is an AOD handler writing a standard AOD, use the AOD 
  // event in memory rather than the input (ESD) event. (A.G. 27/04/09)
  if (AODEvent() && IsStandardAOD()) event = dynamic_cast<AliVEvent*> (AODEvent());

  if (dynamic_cast<AliAODEvent*>(event)) {
     AliAODHandler *aodhandler = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
     if (aodhandler) aodhandler->SetFillExtension(kTRUE);
  }   

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  AliInputEventHandler *inputHandler=(AliInputEventHandler*)mgr->GetInputEventHandler();
  AliPIDResponse *pidResp=inputHandler->GetPIDResponse();
  fVHF->SetPidResponse(pidResp);

  // heavy flavor vertexing
  fVHF->FindCandidates(event,
		       fVerticesHFTClArr,
		       fD0toKpiTClArr,
		       fJPSItoEleTClArr,
		       fCharm3ProngTClArr,
		       fCharm4ProngTClArr,
		       fDstarTClArr,
		       fCascadesTClArr,
                       fLikeSign2ProngTClArr,
                       fLikeSign3ProngTClArr);
  
  //---Way to pass information temporarily not available in AOD---
  AliESDEvent *eventE = dynamic_cast<AliESDEvent*> (InputEvent());
  if(eventE) {
    Float_t *vChCorr = new Float_t[64];
    Float_t dummy;
    AliESDUtils::GetCorrV0(eventE,dummy,NULL,vChCorr);
    fHFUtilInfo->SetVZERO( vChCorr );
    delete [] vChCorr;
  }
  //--------------------------------------------------------------

  return;
}

//________________________________________________________________________
void AliAnalysisTaskSEVertexingHF::Terminate(Option_t */*option*/)
{
  // Terminate analysis
  //
  if(fDebug > 1) printf("AnalysisTaskSEVertexingHF: Terminate() \n");
}
 AliAnalysisTaskSEVertexingHF.cxx:1
 AliAnalysisTaskSEVertexingHF.cxx:2
 AliAnalysisTaskSEVertexingHF.cxx:3
 AliAnalysisTaskSEVertexingHF.cxx:4
 AliAnalysisTaskSEVertexingHF.cxx:5
 AliAnalysisTaskSEVertexingHF.cxx:6
 AliAnalysisTaskSEVertexingHF.cxx:7
 AliAnalysisTaskSEVertexingHF.cxx:8
 AliAnalysisTaskSEVertexingHF.cxx:9
 AliAnalysisTaskSEVertexingHF.cxx:10
 AliAnalysisTaskSEVertexingHF.cxx:11
 AliAnalysisTaskSEVertexingHF.cxx:12
 AliAnalysisTaskSEVertexingHF.cxx:13
 AliAnalysisTaskSEVertexingHF.cxx:14
 AliAnalysisTaskSEVertexingHF.cxx:15
 AliAnalysisTaskSEVertexingHF.cxx:16
 AliAnalysisTaskSEVertexingHF.cxx:17
 AliAnalysisTaskSEVertexingHF.cxx:18
 AliAnalysisTaskSEVertexingHF.cxx:19
 AliAnalysisTaskSEVertexingHF.cxx:20
 AliAnalysisTaskSEVertexingHF.cxx:21
 AliAnalysisTaskSEVertexingHF.cxx:22
 AliAnalysisTaskSEVertexingHF.cxx:23
 AliAnalysisTaskSEVertexingHF.cxx:24
 AliAnalysisTaskSEVertexingHF.cxx:25
 AliAnalysisTaskSEVertexingHF.cxx:26
 AliAnalysisTaskSEVertexingHF.cxx:27
 AliAnalysisTaskSEVertexingHF.cxx:28
 AliAnalysisTaskSEVertexingHF.cxx:29
 AliAnalysisTaskSEVertexingHF.cxx:30
 AliAnalysisTaskSEVertexingHF.cxx:31
 AliAnalysisTaskSEVertexingHF.cxx:32
 AliAnalysisTaskSEVertexingHF.cxx:33
 AliAnalysisTaskSEVertexingHF.cxx:34
 AliAnalysisTaskSEVertexingHF.cxx:35
 AliAnalysisTaskSEVertexingHF.cxx:36
 AliAnalysisTaskSEVertexingHF.cxx:37
 AliAnalysisTaskSEVertexingHF.cxx:38
 AliAnalysisTaskSEVertexingHF.cxx:39
 AliAnalysisTaskSEVertexingHF.cxx:40
 AliAnalysisTaskSEVertexingHF.cxx:41
 AliAnalysisTaskSEVertexingHF.cxx:42
 AliAnalysisTaskSEVertexingHF.cxx:43
 AliAnalysisTaskSEVertexingHF.cxx:44
 AliAnalysisTaskSEVertexingHF.cxx:45
 AliAnalysisTaskSEVertexingHF.cxx:46
 AliAnalysisTaskSEVertexingHF.cxx:47
 AliAnalysisTaskSEVertexingHF.cxx:48
 AliAnalysisTaskSEVertexingHF.cxx:49
 AliAnalysisTaskSEVertexingHF.cxx:50
 AliAnalysisTaskSEVertexingHF.cxx:51
 AliAnalysisTaskSEVertexingHF.cxx:52
 AliAnalysisTaskSEVertexingHF.cxx:53
 AliAnalysisTaskSEVertexingHF.cxx:54
 AliAnalysisTaskSEVertexingHF.cxx:55
 AliAnalysisTaskSEVertexingHF.cxx:56
 AliAnalysisTaskSEVertexingHF.cxx:57
 AliAnalysisTaskSEVertexingHF.cxx:58
 AliAnalysisTaskSEVertexingHF.cxx:59
 AliAnalysisTaskSEVertexingHF.cxx:60
 AliAnalysisTaskSEVertexingHF.cxx:61
 AliAnalysisTaskSEVertexingHF.cxx:62
 AliAnalysisTaskSEVertexingHF.cxx:63
 AliAnalysisTaskSEVertexingHF.cxx:64
 AliAnalysisTaskSEVertexingHF.cxx:65
 AliAnalysisTaskSEVertexingHF.cxx:66
 AliAnalysisTaskSEVertexingHF.cxx:67
 AliAnalysisTaskSEVertexingHF.cxx:68
 AliAnalysisTaskSEVertexingHF.cxx:69
 AliAnalysisTaskSEVertexingHF.cxx:70
 AliAnalysisTaskSEVertexingHF.cxx:71
 AliAnalysisTaskSEVertexingHF.cxx:72
 AliAnalysisTaskSEVertexingHF.cxx:73
 AliAnalysisTaskSEVertexingHF.cxx:74
 AliAnalysisTaskSEVertexingHF.cxx:75
 AliAnalysisTaskSEVertexingHF.cxx:76
 AliAnalysisTaskSEVertexingHF.cxx:77
 AliAnalysisTaskSEVertexingHF.cxx:78
 AliAnalysisTaskSEVertexingHF.cxx:79
 AliAnalysisTaskSEVertexingHF.cxx:80
 AliAnalysisTaskSEVertexingHF.cxx:81
 AliAnalysisTaskSEVertexingHF.cxx:82
 AliAnalysisTaskSEVertexingHF.cxx:83
 AliAnalysisTaskSEVertexingHF.cxx:84
 AliAnalysisTaskSEVertexingHF.cxx:85
 AliAnalysisTaskSEVertexingHF.cxx:86
 AliAnalysisTaskSEVertexingHF.cxx:87
 AliAnalysisTaskSEVertexingHF.cxx:88
 AliAnalysisTaskSEVertexingHF.cxx:89
 AliAnalysisTaskSEVertexingHF.cxx:90
 AliAnalysisTaskSEVertexingHF.cxx:91
 AliAnalysisTaskSEVertexingHF.cxx:92
 AliAnalysisTaskSEVertexingHF.cxx:93
 AliAnalysisTaskSEVertexingHF.cxx:94
 AliAnalysisTaskSEVertexingHF.cxx:95
 AliAnalysisTaskSEVertexingHF.cxx:96
 AliAnalysisTaskSEVertexingHF.cxx:97
 AliAnalysisTaskSEVertexingHF.cxx:98
 AliAnalysisTaskSEVertexingHF.cxx:99
 AliAnalysisTaskSEVertexingHF.cxx:100
 AliAnalysisTaskSEVertexingHF.cxx:101
 AliAnalysisTaskSEVertexingHF.cxx:102
 AliAnalysisTaskSEVertexingHF.cxx:103
 AliAnalysisTaskSEVertexingHF.cxx:104
 AliAnalysisTaskSEVertexingHF.cxx:105
 AliAnalysisTaskSEVertexingHF.cxx:106
 AliAnalysisTaskSEVertexingHF.cxx:107
 AliAnalysisTaskSEVertexingHF.cxx:108
 AliAnalysisTaskSEVertexingHF.cxx:109
 AliAnalysisTaskSEVertexingHF.cxx:110
 AliAnalysisTaskSEVertexingHF.cxx:111
 AliAnalysisTaskSEVertexingHF.cxx:112
 AliAnalysisTaskSEVertexingHF.cxx:113
 AliAnalysisTaskSEVertexingHF.cxx:114
 AliAnalysisTaskSEVertexingHF.cxx:115
 AliAnalysisTaskSEVertexingHF.cxx:116
 AliAnalysisTaskSEVertexingHF.cxx:117
 AliAnalysisTaskSEVertexingHF.cxx:118
 AliAnalysisTaskSEVertexingHF.cxx:119
 AliAnalysisTaskSEVertexingHF.cxx:120
 AliAnalysisTaskSEVertexingHF.cxx:121
 AliAnalysisTaskSEVertexingHF.cxx:122
 AliAnalysisTaskSEVertexingHF.cxx:123
 AliAnalysisTaskSEVertexingHF.cxx:124
 AliAnalysisTaskSEVertexingHF.cxx:125
 AliAnalysisTaskSEVertexingHF.cxx:126
 AliAnalysisTaskSEVertexingHF.cxx:127
 AliAnalysisTaskSEVertexingHF.cxx:128
 AliAnalysisTaskSEVertexingHF.cxx:129
 AliAnalysisTaskSEVertexingHF.cxx:130
 AliAnalysisTaskSEVertexingHF.cxx:131
 AliAnalysisTaskSEVertexingHF.cxx:132
 AliAnalysisTaskSEVertexingHF.cxx:133
 AliAnalysisTaskSEVertexingHF.cxx:134
 AliAnalysisTaskSEVertexingHF.cxx:135
 AliAnalysisTaskSEVertexingHF.cxx:136
 AliAnalysisTaskSEVertexingHF.cxx:137
 AliAnalysisTaskSEVertexingHF.cxx:138
 AliAnalysisTaskSEVertexingHF.cxx:139
 AliAnalysisTaskSEVertexingHF.cxx:140
 AliAnalysisTaskSEVertexingHF.cxx:141
 AliAnalysisTaskSEVertexingHF.cxx:142
 AliAnalysisTaskSEVertexingHF.cxx:143
 AliAnalysisTaskSEVertexingHF.cxx:144
 AliAnalysisTaskSEVertexingHF.cxx:145
 AliAnalysisTaskSEVertexingHF.cxx:146
 AliAnalysisTaskSEVertexingHF.cxx:147
 AliAnalysisTaskSEVertexingHF.cxx:148
 AliAnalysisTaskSEVertexingHF.cxx:149
 AliAnalysisTaskSEVertexingHF.cxx:150
 AliAnalysisTaskSEVertexingHF.cxx:151
 AliAnalysisTaskSEVertexingHF.cxx:152
 AliAnalysisTaskSEVertexingHF.cxx:153
 AliAnalysisTaskSEVertexingHF.cxx:154
 AliAnalysisTaskSEVertexingHF.cxx:155
 AliAnalysisTaskSEVertexingHF.cxx:156
 AliAnalysisTaskSEVertexingHF.cxx:157
 AliAnalysisTaskSEVertexingHF.cxx:158
 AliAnalysisTaskSEVertexingHF.cxx:159
 AliAnalysisTaskSEVertexingHF.cxx:160
 AliAnalysisTaskSEVertexingHF.cxx:161
 AliAnalysisTaskSEVertexingHF.cxx:162
 AliAnalysisTaskSEVertexingHF.cxx:163
 AliAnalysisTaskSEVertexingHF.cxx:164
 AliAnalysisTaskSEVertexingHF.cxx:165
 AliAnalysisTaskSEVertexingHF.cxx:166
 AliAnalysisTaskSEVertexingHF.cxx:167
 AliAnalysisTaskSEVertexingHF.cxx:168
 AliAnalysisTaskSEVertexingHF.cxx:169
 AliAnalysisTaskSEVertexingHF.cxx:170
 AliAnalysisTaskSEVertexingHF.cxx:171
 AliAnalysisTaskSEVertexingHF.cxx:172
 AliAnalysisTaskSEVertexingHF.cxx:173
 AliAnalysisTaskSEVertexingHF.cxx:174
 AliAnalysisTaskSEVertexingHF.cxx:175
 AliAnalysisTaskSEVertexingHF.cxx:176
 AliAnalysisTaskSEVertexingHF.cxx:177
 AliAnalysisTaskSEVertexingHF.cxx:178
 AliAnalysisTaskSEVertexingHF.cxx:179
 AliAnalysisTaskSEVertexingHF.cxx:180
 AliAnalysisTaskSEVertexingHF.cxx:181
 AliAnalysisTaskSEVertexingHF.cxx:182
 AliAnalysisTaskSEVertexingHF.cxx:183
 AliAnalysisTaskSEVertexingHF.cxx:184
 AliAnalysisTaskSEVertexingHF.cxx:185
 AliAnalysisTaskSEVertexingHF.cxx:186
 AliAnalysisTaskSEVertexingHF.cxx:187
 AliAnalysisTaskSEVertexingHF.cxx:188
 AliAnalysisTaskSEVertexingHF.cxx:189
 AliAnalysisTaskSEVertexingHF.cxx:190
 AliAnalysisTaskSEVertexingHF.cxx:191
 AliAnalysisTaskSEVertexingHF.cxx:192
 AliAnalysisTaskSEVertexingHF.cxx:193
 AliAnalysisTaskSEVertexingHF.cxx:194
 AliAnalysisTaskSEVertexingHF.cxx:195
 AliAnalysisTaskSEVertexingHF.cxx:196
 AliAnalysisTaskSEVertexingHF.cxx:197
 AliAnalysisTaskSEVertexingHF.cxx:198
 AliAnalysisTaskSEVertexingHF.cxx:199
 AliAnalysisTaskSEVertexingHF.cxx:200
 AliAnalysisTaskSEVertexingHF.cxx:201
 AliAnalysisTaskSEVertexingHF.cxx:202
 AliAnalysisTaskSEVertexingHF.cxx:203
 AliAnalysisTaskSEVertexingHF.cxx:204
 AliAnalysisTaskSEVertexingHF.cxx:205
 AliAnalysisTaskSEVertexingHF.cxx:206
 AliAnalysisTaskSEVertexingHF.cxx:207
 AliAnalysisTaskSEVertexingHF.cxx:208
 AliAnalysisTaskSEVertexingHF.cxx:209
 AliAnalysisTaskSEVertexingHF.cxx:210
 AliAnalysisTaskSEVertexingHF.cxx:211
 AliAnalysisTaskSEVertexingHF.cxx:212
 AliAnalysisTaskSEVertexingHF.cxx:213
 AliAnalysisTaskSEVertexingHF.cxx:214
 AliAnalysisTaskSEVertexingHF.cxx:215
 AliAnalysisTaskSEVertexingHF.cxx:216
 AliAnalysisTaskSEVertexingHF.cxx:217
 AliAnalysisTaskSEVertexingHF.cxx:218
 AliAnalysisTaskSEVertexingHF.cxx:219
 AliAnalysisTaskSEVertexingHF.cxx:220
 AliAnalysisTaskSEVertexingHF.cxx:221
 AliAnalysisTaskSEVertexingHF.cxx:222
 AliAnalysisTaskSEVertexingHF.cxx:223
 AliAnalysisTaskSEVertexingHF.cxx:224
 AliAnalysisTaskSEVertexingHF.cxx:225
 AliAnalysisTaskSEVertexingHF.cxx:226
 AliAnalysisTaskSEVertexingHF.cxx:227
 AliAnalysisTaskSEVertexingHF.cxx:228
 AliAnalysisTaskSEVertexingHF.cxx:229
 AliAnalysisTaskSEVertexingHF.cxx:230
 AliAnalysisTaskSEVertexingHF.cxx:231
 AliAnalysisTaskSEVertexingHF.cxx:232
 AliAnalysisTaskSEVertexingHF.cxx:233
 AliAnalysisTaskSEVertexingHF.cxx:234
 AliAnalysisTaskSEVertexingHF.cxx:235
 AliAnalysisTaskSEVertexingHF.cxx:236
 AliAnalysisTaskSEVertexingHF.cxx:237
 AliAnalysisTaskSEVertexingHF.cxx:238
 AliAnalysisTaskSEVertexingHF.cxx:239
 AliAnalysisTaskSEVertexingHF.cxx:240
 AliAnalysisTaskSEVertexingHF.cxx:241
 AliAnalysisTaskSEVertexingHF.cxx:242
 AliAnalysisTaskSEVertexingHF.cxx:243
 AliAnalysisTaskSEVertexingHF.cxx:244
 AliAnalysisTaskSEVertexingHF.cxx:245
 AliAnalysisTaskSEVertexingHF.cxx:246
 AliAnalysisTaskSEVertexingHF.cxx:247
 AliAnalysisTaskSEVertexingHF.cxx:248
 AliAnalysisTaskSEVertexingHF.cxx:249
 AliAnalysisTaskSEVertexingHF.cxx:250
 AliAnalysisTaskSEVertexingHF.cxx:251
 AliAnalysisTaskSEVertexingHF.cxx:252
 AliAnalysisTaskSEVertexingHF.cxx:253
 AliAnalysisTaskSEVertexingHF.cxx:254
 AliAnalysisTaskSEVertexingHF.cxx:255
 AliAnalysisTaskSEVertexingHF.cxx:256
 AliAnalysisTaskSEVertexingHF.cxx:257
 AliAnalysisTaskSEVertexingHF.cxx:258
 AliAnalysisTaskSEVertexingHF.cxx:259
 AliAnalysisTaskSEVertexingHF.cxx:260
 AliAnalysisTaskSEVertexingHF.cxx:261
 AliAnalysisTaskSEVertexingHF.cxx:262
 AliAnalysisTaskSEVertexingHF.cxx:263
 AliAnalysisTaskSEVertexingHF.cxx:264
 AliAnalysisTaskSEVertexingHF.cxx:265
 AliAnalysisTaskSEVertexingHF.cxx:266
 AliAnalysisTaskSEVertexingHF.cxx:267
 AliAnalysisTaskSEVertexingHF.cxx:268
 AliAnalysisTaskSEVertexingHF.cxx:269