]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AddTaskCopyHeader.C
Coverity fixes
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AddTaskCopyHeader.C
CommitLineData
ffca499d 1/**
2 * @file AddTaskCopyHeader.C
3 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
4 * @date Wed Mar 23 12:13:43 2011
5 *
6 * @brief
7 *
8 *
9 * @ingroup pwg2_forward_scripts_tasks
10 */
749dd3c2 11#include "AliAnalysisTaskSE.h"
12#include "AliInputEventHandler.h"
13#include "AliESDEvent.h"
14#include "AliAODEvent.h"
15#include "AliCentrality.h"
16#include "AliAnalysisManager.h"
17#include <TROOT.h>
18
ffca499d 19/**
20 * Task to copy header from ESD to AOD
21 *
22 * @ingroup pwg2_forward_scripts_tasks
23 * @ingroup pwg2_forward_aod
24 */
749dd3c2 25class CopyHeaderTask : public AliAnalysisTaskSE
26{
27public:
28 CopyHeaderTask(const char* name="header")
29 : AliAnalysisTaskSE(name)
30 {}
31 CopyHeaderTask(const CopyHeaderTask& other)
32 : AliAnalysisTaskSE(other)
33 {}
34 virtual ~CopyHeaderTask() {}
35 CopyHeaderTask& operator=(const CopyHeaderTask& other)
36 {
37 AliAnalysisTaskSE::operator=(other);
38 return *this;
39 }
40 /**
41 * @{
42 * @name Implementation of interface methods
43 */
44 virtual void UserCreateOutputObjects() {}
45 virtual void Init() {}
46 virtual void LocalInit() {Init();}
47 virtual void UserExec(Option_t *option);
48 virtual void Terminate(Option_t *option);
49 /* @} */
50
51 ClassDef(CopyHeaderTask,1);
52};
53
54void
55CopyHeaderTask::UserExec(Option_t*)
56{
57 AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
58 AliAODEvent* aod = dynamic_cast<AliAODEvent*>(AODEvent());
59
60 if (!esd) {
61 AliWarning("Missing ESD event");
62 return;
63 }
64 if (!aod) {
65 AliWarning("Missing AOD event");
66 return;
67 }
68
69 AliAODHeader* aodHeader = aod->GetHeader();
70 if (!aodHeader) {
71 AliWarning("Missing AOD header");
72 return;
73 }
74
75 aodHeader->SetRunNumber(esd->GetRunNumber());
76 aodHeader->SetOfflineTrigger(fInputHandler->IsEventSelected());
77 aodHeader->SetBunchCrossNumber(esd->GetBunchCrossNumber());
78 aodHeader->SetOrbitNumber(esd->GetOrbitNumber());
79 aodHeader->SetPeriodNumber(esd->GetPeriodNumber());
80 aodHeader->SetEventType(esd->GetEventType());
81 aodHeader->SetEventNumberESDFile(esd->GetHeader()->GetEventNumberInFile());
82 if(esd->GetCentrality())
83 aodHeader->SetCentrality(new AliCentrality(*(esd->GetCentrality())));
84 else
85 aodHeader->SetCentrality(0);
86
87 aodHeader->SetFiredTriggerClasses(esd->GetFiredTriggerClasses());
88 aodHeader->SetTriggerMask(esd->GetTriggerMask());
89 aodHeader->SetTriggerCluster(esd->GetTriggerCluster());
90 aodHeader->SetL0TriggerInputs(esd->GetHeader()->GetL0TriggerInputs());
91 aodHeader->SetL1TriggerInputs(esd->GetHeader()->GetL1TriggerInputs());
92 aodHeader->SetL2TriggerInputs(esd->GetHeader()->GetL2TriggerInputs());
93
94 aodHeader->SetMagneticField(esd->GetMagneticField());
95 aodHeader->SetMuonMagFieldScale(esd->GetCurrentDip()/6000.);
96 aodHeader->SetZDCN1Energy(esd->GetZDCN1Energy());
97 aodHeader->SetZDCP1Energy(esd->GetZDCP1Energy());
98 aodHeader->SetZDCN2Energy(esd->GetZDCN2Energy());
99 aodHeader->SetZDCP2Energy(esd->GetZDCP2Energy());
100 aodHeader->SetZDCEMEnergy(esd->GetZDCEMEnergy(0),esd->GetZDCEMEnergy(1));
101}
102
103void
104CopyHeaderTask::Terminate(Option_t*)
105{}
106
ffca499d 107/**
108 *
109 *
110 * @ingroup pwg2_forward_aod
111 */
749dd3c2 112void
113AddTaskCopyHeader()
114{
115 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
116 if (!mgr) {
ffca499d 117 Error("AddTaskCopyHeader", "No analysis manager to connect to.");
749dd3c2 118 return;
119 }
120
121 gROOT->Macro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
122
123 CopyHeaderTask* task = new CopyHeaderTask;
124 mgr->AddTask(task);
125
126 // AliAnalysisDataContainer* histOut =
127 // mgr->CreateContainer("Forward", TList::Class(),
128 // AliAnalysisManager::kOutputContainer,outputfile);
129 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
130 // mgr->ConnectOutput(task, 1, histOut);
131}
132//
133// EOF
134//