]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JCORRAN/AliJCORRANTask.h
new analysis module JCORRAN - Filip Krizek
[u/mrichter/AliRoot.git] / PWG4 / JCORRAN / AliJCORRANTask.h
CommitLineData
2f4cac02 1#ifndef ALIJCORRANTASK_H
2#define ALIJCORRANTASK_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6//______________________________________________________________________________
7// Analysis task for high pt particle correlations
8// author: R.Diaz, J. Rak, D.J. Kim
9// ALICE Group University of Jyvaskyla
10// Finland
11//
12// Fill the analysis containers for ESD or AOD
13// Note: Adapted for AliAnalysisTaskSE
14//////////////////////////////////////////////////////////////////////////////
15
16#include <iostream>
17#include <fstream>
18#include <stdlib.h>
19#include <stdio.h>
20#include <iomanip>
21
22#include <TTree.h>
23#include <TList.h>
24#include "AliAnalysisTaskSE.h"
25#include "AliAnalysisFilter.h"
26#include "AliMCEvent.h"
27
28#include "AliPhJTrackList.h"
29#include "AliPhJMCTrackList.h"
30#include "AliPhJPhotonList.h"
31#include "AliPhJHeaderList.h"
32#include "AliJCORRANSetup.h"
33
34#include "AliJRunHeader.h"
35#include "JConst.h"
36
37//==============================================================
38
39using namespace std;
40
41const int kMaxDimBuffer = 300;//max length of a line read to a buffe
42
43class TH1D;
44class TH2D;
45class TNtuple;
46class AliMCEvent;
47class AliESDEvent;
48class AliAODEvent;
49class AliPHOSGeoUtils;
50class AliEMCALGeoUtils;
51class AliJRunHeader;
52class AliMCEvent;
53class AliJCORRANSetup;
54class AliAnalysisFilter;
55class AliPhJHeaderList;
56class AliPhJPhotonList;
57class AliPhJMCTrackList;
58class AliPhJTrackList;
59class TList;
60class TTree;
61
62
63
64class AliJCORRANTask : public AliAnalysisTaskSE {
65
66public:
67 AliJCORRANTask() ;
68 AliJCORRANTask(const char *name, TString inputformat);
69 AliJCORRANTask(const AliJCORRANTask& ap);
70 AliJCORRANTask& operator = (const AliJCORRANTask& ap);
71 virtual ~AliJCORRANTask();
72
73 // methods to fill from AliAnalysisTaskSE
74 virtual void UserCreateOutputObjects();
75 virtual void Init();
76 virtual void LocalInit() { Init(); }
77 virtual void UserExec(Option_t *option);
78 virtual void Terminate(Option_t * opt = "");
79
80 // methods to read data from ESD
81 void ReadESDTracks(const AliESDEvent* esd);
82 void ReadESDCaloClusters(const AliESDEvent* esd);
83 void ReadESDHeader(const AliESDEvent* esd);
84 // methods to read data from AOD
85 void ReadAODTracks(const AliAODEvent* aod);
86 void ReadAODCaloClusters(const AliAODEvent* aod);
87 void ReadAODHeader(const AliAODEvent* aod);
88 void ReadFilter();
89 //void ReadMCTracks(AliMCEvent* fMC);
90 Int_t GetSuperModuleNumber(bool isemcal, Int_t absId);
91
92
93private:
94
95 UInt_t ConvertTriggerMask(/*Long64_t alicetriggermask*/);//Converts alice trigger mask to JCorran trigger mask
96
97 TString fInputFormat; // specify the input data format (ESD or AOD)
98
99 TString fActiveTriggers[kRangeTriggerTableAlice];//alice table mapping trigger bit to trigger name
100
101 TString fTriggerTableJCorran[kRangeTriggerTableJCorran];//JCorran trigger table TBit 0 =MinBias
102
103 // jcorran output objects
104 TTree* fTree; // output tree
105 AliPhJTrackList* fTrackList; // list of charged track objects
106 //AliPhJMCTrackList* fMCTrackList; // list of charged track objects
107 AliPhJPhotonList* fPhotonList; // list of photons objects
108 AliPhJHeaderList* fHeaderList; // run, event details
109
110 AliJRunHeader* fAliRunHeader; // run, event details
111
112
113 // QA output
114 TList* fQAList; // list to hold all the qa objects
115 TNtuple* fTrackQACuts ; // tree of track quality cuts applied on ESD
116 TNtuple* fTrackKineCuts; // tree of track kinematic cuts applied on ESD
117
118 AliPHOSGeoUtils * fPHOSGeom; //phos geometry matrix
119 AliEMCALGeoUtils * fEMCALGeom; //emcal geometry matrix
120
121 ClassDef(AliJCORRANTask, 1); // JCORRAN analysis task
122};
123#endif // AliJCORRANTask_H