]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/JCORRAN/AliJCORRANTask.h
excepting also empty directory for merging
[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;
6392490d 46class TList;
47class TTree;
48
2f4cac02 49class AliMCEvent;
50class AliESDEvent;
51class AliAODEvent;
52class AliPHOSGeoUtils;
53class AliEMCALGeoUtils;
6392490d 54class AliESDtrackCuts;
55
2f4cac02 56class AliJRunHeader;
57class AliMCEvent;
58class AliJCORRANSetup;
59class AliAnalysisFilter;
60class AliPhJHeaderList;
61class AliPhJPhotonList;
62class AliPhJMCTrackList;
63class AliPhJTrackList;
2f4cac02 64
65
66
67class AliJCORRANTask : public AliAnalysisTaskSE {
68
69public:
70 AliJCORRANTask() ;
6392490d 71 AliJCORRANTask(const char *name, TString inputformat, AliESDtrackCuts* esdTrackCuts, Int_t downSc, Double_t lowLPmom, Double_t lowCaloE); //FK//
2f4cac02 72 AliJCORRANTask(const AliJCORRANTask& ap);
73 AliJCORRANTask& operator = (const AliJCORRANTask& ap);
74 virtual ~AliJCORRANTask();
75
76 // methods to fill from AliAnalysisTaskSE
77 virtual void UserCreateOutputObjects();
78 virtual void Init();
79 virtual void LocalInit() { Init(); }
80 virtual void UserExec(Option_t *option);
81 virtual void Terminate(Option_t * opt = "");
82
83 // methods to read data from ESD
84 void ReadESDTracks(const AliESDEvent* esd);
85 void ReadESDCaloClusters(const AliESDEvent* esd);
86 void ReadESDHeader(const AliESDEvent* esd);
87 // methods to read data from AOD
88 void ReadAODTracks(const AliAODEvent* aod);
89 void ReadAODCaloClusters(const AliAODEvent* aod);
90 void ReadAODHeader(const AliAODEvent* aod);
91 void ReadFilter();
92 //void ReadMCTracks(AliMCEvent* fMC);
93 Int_t GetSuperModuleNumber(bool isemcal, Int_t absId);
94
95
96private:
97
98 UInt_t ConvertTriggerMask(/*Long64_t alicetriggermask*/);//Converts alice trigger mask to JCorran trigger mask
99
6392490d 100 bool StoreDownscaledMinBiasEvent();
101 bool ContainsESDHighPtTrack(const AliESDEvent* esd);
102 bool ContainsESDHighECaloClusters(const AliESDEvent* esd);
103
2f4cac02 104 TString fInputFormat; // specify the input data format (ESD or AOD)
105
6392490d 106 AliESDtrackCuts* fEsdTrackCuts; //FK//
107
108 Int_t fDownscaling; //FK//
109
110 Double_t fLowerCutOnLPMom; //FK//
111
112 Double_t fLowerCutOnLeadingCaloClusterE;//FK//
113
2f4cac02 114 TString fActiveTriggers[kRangeTriggerTableAlice];//alice table mapping trigger bit to trigger name
115
116 TString fTriggerTableJCorran[kRangeTriggerTableJCorran];//JCorran trigger table TBit 0 =MinBias
117
118 // jcorran output objects
119 TTree* fTree; // output tree
120 AliPhJTrackList* fTrackList; // list of charged track objects
121 //AliPhJMCTrackList* fMCTrackList; // list of charged track objects
122 AliPhJPhotonList* fPhotonList; // list of photons objects
123 AliPhJHeaderList* fHeaderList; // run, event details
124
125 AliJRunHeader* fAliRunHeader; // run, event details
126
127
128 // QA output
129 TList* fQAList; // list to hold all the qa objects
130 TNtuple* fTrackQACuts ; // tree of track quality cuts applied on ESD
131 TNtuple* fTrackKineCuts; // tree of track kinematic cuts applied on ESD
132
133 AliPHOSGeoUtils * fPHOSGeom; //phos geometry matrix
134 AliEMCALGeoUtils * fEMCALGeom; //emcal geometry matrix
135
136 ClassDef(AliJCORRANTask, 1); // JCORRAN analysis task
137};
138#endif // AliJCORRANTask_H