ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, 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.                  *
 **************************************************************************/

//______________________________________________________________________________
// Analysis task for high pt particle correlations 
// author: R.Diaz, J. Rak,  D.J. Kim
// ALICE Group University of Jyvaskyla 
// Finland 
// Fill the analysis containers for ESD or AOD
// Adapted for AliAnalysisTaskSE and AOD objects  
//////////////////////////////////////////////////////////////////////////////

#include "TChain.h"
#include "TList.h"
#include "TTree.h"
#include "TFile.h"


#include "AliAnalysisTaskSE.h"
#include "AliAODHandler.h"

#include "AliJCORRANTask.h" 
#include "AliAnalysisManager.h"

#include "AliJTrack.h"
#include "AliJMCTrack.h"
#include "AliJPhoton.h"
//#include "AliJCaloCell.h"
#include "AliJEventHeader.h"
#include "AliJRunHeader.h"

//______________________________________________________________________________
AliJCORRANTask::AliJCORRANTask() :   
    AliAnalysisTaskSE("PWG4JCORRAN"),
	fFilterEntry(0),
    fFilter(0x0),
    fAliJRunHeader(0x0)
{

  DefineInput (0, TChain::Class());
  
   fFilter = new AliJFilter();
}

//______________________________________________________________________________
AliJCORRANTask::AliJCORRANTask(const char *name, TString inputformat):
    AliAnalysisTaskSE(name), 
	fFilterEntry(0),
    fFilter(0x0),
    fAliJRunHeader(0x0)
{
  // Constructor
  AliInfo("---- AliJCORRANTask Constructor ----");

  JUNUSED(inputformat);

  DefineInput (0, TChain::Class());

   fFilter = new AliJFilter( Form("%sFilter",name), this );
}

//____________________________________________________________________________
AliJCORRANTask::AliJCORRANTask(const AliJCORRANTask& ap) :
    AliAnalysisTaskSE(ap.GetName()), 
	fFilterEntry(ap.fFilterEntry),
    fFilter(ap.fFilter),
    fAliJRunHeader(ap.fAliJRunHeader)
{ 

  AliInfo("----DEBUG AliJCORRANTask COPY ----");

}

//_____________________________________________________________________________
AliJCORRANTask& AliJCORRANTask::operator = (const AliJCORRANTask& ap)
{
  // assignment operator

  AliInfo("----DEBUG AliJCORRANTask operator= ----");
  this->~AliJCORRANTask();
  new(this) AliJCORRANTask(ap);
  return *this;
}

//______________________________________________________________________________
AliJCORRANTask::~AliJCORRANTask()
{
  // destructor 

   delete fFilter;
   delete fAliJRunHeader;

}

//________________________________________________________________________

void AliJCORRANTask::UserCreateOutputObjects()
{  
  //=== create the jcorran outputs objects
  if(fDebug > 1) printf("AliJCORRANTask::UserCreateOutPutData() \n");
  
  //=== Get AnalysisManager
  AliAnalysisManager *man = AliAnalysisManager::GetAnalysisManager();
  if(!man->GetOutputEventHandler()) {
    Fatal("UserCreateOutputObjects", "This task needs an AOD handler");
    return;
  }

   // run the filter class
   fFilter->SetMyTask( this );
   fFilter->SetAliJRunHeader( fAliJRunHeader );
   fFilter->UserCreateOutputObjects();


  cout << "Add(fAliRunHeader) in UserCreateObject() ======= " << endl;

}

//______________________________________________________________________________
void AliJCORRANTask::UserExec(Option_t* /*option*/) 
{

	// Processing of one event
	if(fDebug > 5) cout << "------- AliJCORRANTask Exec-------"<<endl;
	if(!((Entry()-1)%100))  AliInfo(Form(" Processing event # %lld",  Entry())); 
	fFilterEntry = fEntry;
	fFilter->UserExec("");

	if(fDebug > 5) cout << "\t------- End UserExec "<<endl;
}

//______________________________________________________________________________
void AliJCORRANTask::Init()
{
	// Intialisation of parameters
	AliInfo("Doing initialization") ; 

	fFilter->Init();
}

//______________________________________________________________________________
void AliJCORRANTask::Terminate(Option_t *)
{
	//fFilter->Terminate();

	// Processing when the event loop is ended
	//fAliJRunHeader->PrintOut();
	cout<<"AliJCORRANTask Analysis DONE !!"<<endl; 
}
 AliJCORRANTask.cxx:1
 AliJCORRANTask.cxx:2
 AliJCORRANTask.cxx:3
 AliJCORRANTask.cxx:4
 AliJCORRANTask.cxx:5
 AliJCORRANTask.cxx:6
 AliJCORRANTask.cxx:7
 AliJCORRANTask.cxx:8
 AliJCORRANTask.cxx:9
 AliJCORRANTask.cxx:10
 AliJCORRANTask.cxx:11
 AliJCORRANTask.cxx:12
 AliJCORRANTask.cxx:13
 AliJCORRANTask.cxx:14
 AliJCORRANTask.cxx:15
 AliJCORRANTask.cxx:16
 AliJCORRANTask.cxx:17
 AliJCORRANTask.cxx:18
 AliJCORRANTask.cxx:19
 AliJCORRANTask.cxx:20
 AliJCORRANTask.cxx:21
 AliJCORRANTask.cxx:22
 AliJCORRANTask.cxx:23
 AliJCORRANTask.cxx:24
 AliJCORRANTask.cxx:25
 AliJCORRANTask.cxx:26
 AliJCORRANTask.cxx:27
 AliJCORRANTask.cxx:28
 AliJCORRANTask.cxx:29
 AliJCORRANTask.cxx:30
 AliJCORRANTask.cxx:31
 AliJCORRANTask.cxx:32
 AliJCORRANTask.cxx:33
 AliJCORRANTask.cxx:34
 AliJCORRANTask.cxx:35
 AliJCORRANTask.cxx:36
 AliJCORRANTask.cxx:37
 AliJCORRANTask.cxx:38
 AliJCORRANTask.cxx:39
 AliJCORRANTask.cxx:40
 AliJCORRANTask.cxx:41
 AliJCORRANTask.cxx:42
 AliJCORRANTask.cxx:43
 AliJCORRANTask.cxx:44
 AliJCORRANTask.cxx:45
 AliJCORRANTask.cxx:46
 AliJCORRANTask.cxx:47
 AliJCORRANTask.cxx:48
 AliJCORRANTask.cxx:49
 AliJCORRANTask.cxx:50
 AliJCORRANTask.cxx:51
 AliJCORRANTask.cxx:52
 AliJCORRANTask.cxx:53
 AliJCORRANTask.cxx:54
 AliJCORRANTask.cxx:55
 AliJCORRANTask.cxx:56
 AliJCORRANTask.cxx:57
 AliJCORRANTask.cxx:58
 AliJCORRANTask.cxx:59
 AliJCORRANTask.cxx:60
 AliJCORRANTask.cxx:61
 AliJCORRANTask.cxx:62
 AliJCORRANTask.cxx:63
 AliJCORRANTask.cxx:64
 AliJCORRANTask.cxx:65
 AliJCORRANTask.cxx:66
 AliJCORRANTask.cxx:67
 AliJCORRANTask.cxx:68
 AliJCORRANTask.cxx:69
 AliJCORRANTask.cxx:70
 AliJCORRANTask.cxx:71
 AliJCORRANTask.cxx:72
 AliJCORRANTask.cxx:73
 AliJCORRANTask.cxx:74
 AliJCORRANTask.cxx:75
 AliJCORRANTask.cxx:76
 AliJCORRANTask.cxx:77
 AliJCORRANTask.cxx:78
 AliJCORRANTask.cxx:79
 AliJCORRANTask.cxx:80
 AliJCORRANTask.cxx:81
 AliJCORRANTask.cxx:82
 AliJCORRANTask.cxx:83
 AliJCORRANTask.cxx:84
 AliJCORRANTask.cxx:85
 AliJCORRANTask.cxx:86
 AliJCORRANTask.cxx:87
 AliJCORRANTask.cxx:88
 AliJCORRANTask.cxx:89
 AliJCORRANTask.cxx:90
 AliJCORRANTask.cxx:91
 AliJCORRANTask.cxx:92
 AliJCORRANTask.cxx:93
 AliJCORRANTask.cxx:94
 AliJCORRANTask.cxx:95
 AliJCORRANTask.cxx:96
 AliJCORRANTask.cxx:97
 AliJCORRANTask.cxx:98
 AliJCORRANTask.cxx:99
 AliJCORRANTask.cxx:100
 AliJCORRANTask.cxx:101
 AliJCORRANTask.cxx:102
 AliJCORRANTask.cxx:103
 AliJCORRANTask.cxx:104
 AliJCORRANTask.cxx:105
 AliJCORRANTask.cxx:106
 AliJCORRANTask.cxx:107
 AliJCORRANTask.cxx:108
 AliJCORRANTask.cxx:109
 AliJCORRANTask.cxx:110
 AliJCORRANTask.cxx:111
 AliJCORRANTask.cxx:112
 AliJCORRANTask.cxx:113
 AliJCORRANTask.cxx:114
 AliJCORRANTask.cxx:115
 AliJCORRANTask.cxx:116
 AliJCORRANTask.cxx:117
 AliJCORRANTask.cxx:118
 AliJCORRANTask.cxx:119
 AliJCORRANTask.cxx:120
 AliJCORRANTask.cxx:121
 AliJCORRANTask.cxx:122
 AliJCORRANTask.cxx:123
 AliJCORRANTask.cxx:124
 AliJCORRANTask.cxx:125
 AliJCORRANTask.cxx:126
 AliJCORRANTask.cxx:127
 AliJCORRANTask.cxx:128
 AliJCORRANTask.cxx:129
 AliJCORRANTask.cxx:130
 AliJCORRANTask.cxx:131
 AliJCORRANTask.cxx:132
 AliJCORRANTask.cxx:133
 AliJCORRANTask.cxx:134
 AliJCORRANTask.cxx:135
 AliJCORRANTask.cxx:136
 AliJCORRANTask.cxx:137
 AliJCORRANTask.cxx:138
 AliJCORRANTask.cxx:139
 AliJCORRANTask.cxx:140
 AliJCORRANTask.cxx:141
 AliJCORRANTask.cxx:142
 AliJCORRANTask.cxx:143
 AliJCORRANTask.cxx:144
 AliJCORRANTask.cxx:145
 AliJCORRANTask.cxx:146
 AliJCORRANTask.cxx:147
 AliJCORRANTask.cxx:148
 AliJCORRANTask.cxx:149
 AliJCORRANTask.cxx:150
 AliJCORRANTask.cxx:151
 AliJCORRANTask.cxx:152
 AliJCORRANTask.cxx:153
 AliJCORRANTask.cxx:154
 AliJCORRANTask.cxx:155
 AliJCORRANTask.cxx:156
 AliJCORRANTask.cxx:157
 AliJCORRANTask.cxx:158
 AliJCORRANTask.cxx:159
 AliJCORRANTask.cxx:160
 AliJCORRANTask.cxx:161