]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliCopyHeaderTask.cxx
Segregated the Landau+Gaus function from the AliForwardUtil dumping ground. Other...
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliCopyHeaderTask.cxx
CommitLineData
9416c923 1/**
2 * @file AliCopyHeaderTask.cxx
3 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
4 * @date Tue Jul 12 10:59:32 2011
5 *
6 * @brief Task to copy ESD header to AOD
7 *
bd6f5206 8 * @ingroup pwglf_forward_tasks
9416c923 9 */
10
11#include "AliCopyHeaderTask.h"
12#include "AliESDEvent.h"
13#include "AliAODEvent.h"
14#include "AliCentrality.h"
15#include "AliInputEventHandler.h"
0b9d5cd0 16#include "TFile.h"
17#include "AliEventplane.h"
9416c923 18
19ClassImp(AliCopyHeaderTask)
20#if 0
21; // for emacs - do not remove
22#endif
23
5934a3e3 24
9416c923 25void
26AliCopyHeaderTask::UserExec(Option_t*)
27{
28 //
29 // Called at every event
30 //
31 // Copies information from ESD header to AOD header
32 //
33 AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
34 AliAODEvent* aod = dynamic_cast<AliAODEvent*>(AODEvent());
35
36 if (!esd) {
37 AliWarning("Missing ESD event");
38 return;
39 }
40 if (!aod) {
41 AliWarning("Missing AOD event");
42 return;
43 }
5934a3e3 44
45 LoadBranches();
46
9416c923 47 AliAODHeader* aodHeader = aod->GetHeader();
48 if (!aodHeader) {
49 AliWarning("Missing AOD header");
50 aodHeader = new AliAODHeader(esd->GetRunNumber(),
51 esd->GetBunchCrossNumber(),
52 esd->GetOrbitNumber(),
53 esd->GetPeriodNumber());
54 aod->AddHeader(aodHeader);
55 }
56
57 aodHeader->SetRunNumber(esd->GetRunNumber());
58 aodHeader->SetOfflineTrigger(fInputHandler->IsEventSelected());
59 aodHeader->SetBunchCrossNumber(esd->GetBunchCrossNumber());
60 aodHeader->SetOrbitNumber(esd->GetOrbitNumber());
61 aodHeader->SetPeriodNumber(esd->GetPeriodNumber());
62 aodHeader->SetEventType(esd->GetEventType());
63 aodHeader->SetEventNumberESDFile(esd->GetHeader()->GetEventNumberInFile());
64 if(esd->GetCentrality())
65 aodHeader->SetCentrality(new AliCentrality(*(esd->GetCentrality())));
66 else
67 aodHeader->SetCentrality(0);
68
69 aodHeader->SetFiredTriggerClasses(esd->GetFiredTriggerClasses());
70 aodHeader->SetTriggerMask(esd->GetTriggerMask());
71 aodHeader->SetTriggerCluster(esd->GetTriggerCluster());
72 aodHeader->SetL0TriggerInputs(esd->GetHeader()->GetL0TriggerInputs());
73 aodHeader->SetL1TriggerInputs(esd->GetHeader()->GetL1TriggerInputs());
74 aodHeader->SetL2TriggerInputs(esd->GetHeader()->GetL2TriggerInputs());
75
76 aodHeader->SetMagneticField(esd->GetMagneticField());
77 aodHeader->SetMuonMagFieldScale(esd->GetCurrentDip()/6000.);
78 aodHeader->SetZDCN1Energy(esd->GetZDCN1Energy());
79 aodHeader->SetZDCP1Energy(esd->GetZDCP1Energy());
80 aodHeader->SetZDCN2Energy(esd->GetZDCN2Energy());
81 aodHeader->SetZDCP2Energy(esd->GetZDCP2Energy());
82 aodHeader->SetZDCEMEnergy(esd->GetZDCEMEnergy(0),esd->GetZDCEMEnergy(1));
0b9d5cd0 83
84 TTree* tree = fInputHandler->GetTree();
85 if (tree) {
86 TFile* file = tree->GetCurrentFile();
87 if (file) aodHeader->SetESDFileName(file->GetName());
88 }
89
90 AliEventplane* ep = esd->GetEventplane();
91 if (ep) aodHeader->SetEventplane(ep);
92
9416c923 93}
94
95void
96AliCopyHeaderTask::Terminate(Option_t*)
97{
98 // Called at the end of the job - does nothing
99}
100
101//
102// EOF
103//