FORWARD/analysis2/AliFMDMultCuts.cxx
FORWARD/analysis2/AliPoissonCalculator.cxx
FORWARD/analysis2/AliForwardQATask.cxx
+ FORWARD/analysis2/AliCopyHeaderTask.cxx
)
string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
PATTERN ".d" EXCLUDE
PATTERN ".so" EXCLUDE)
+# install QA scripts
+install ( DIRECTORY FORWARD/analysis2/qa
+ DESTINATION PWG2/FORWARD/analysis2
+ PATTERN ".d" EXCLUDE
+ PATTERN ".so" EXCLUDE)
+
+# install correction scripts
+install ( DIRECTORY FORWARD/analysis2/corrs
+ DESTINATION PWG2/FORWARD/analysis2
+ PATTERN ".d" EXCLUDE
+ PATTERN ".so" EXCLUDE)
+
# install trains
install ( DIRECTORY FORWARD/analysis2/trains
DESTINATION PWG2/FORWARD/analysis2
*
* @ingroup pwg2_forward_scripts_tasks
*/
-#include "AliAnalysisTaskSE.h"
-#include "AliInputEventHandler.h"
-#include "AliESDEvent.h"
-#include "AliAODEvent.h"
-#include "AliCentrality.h"
-#include "AliAnalysisManager.h"
-#include <TROOT.h>
-
-/**
- * Task to copy header from ESD to AOD
- *
- * @ingroup pwg2_forward_scripts_tasks
- * @ingroup pwg2_forward_aod
- */
-class CopyHeaderTask : public AliAnalysisTaskSE
-{
-public:
- CopyHeaderTask(const char* name="header")
- : AliAnalysisTaskSE(name)
- {}
- CopyHeaderTask(const CopyHeaderTask& other)
- : AliAnalysisTaskSE(other)
- {}
- virtual ~CopyHeaderTask() {}
- CopyHeaderTask& operator=(const CopyHeaderTask& other)
- {
- AliAnalysisTaskSE::operator=(other);
- return *this;
- }
- /**
- * @{
- * @name Implementation of interface methods
- */
- virtual void UserCreateOutputObjects() {}
- virtual void Init() {}
- virtual void LocalInit() {Init();}
- virtual void UserExec(Option_t *option);
- virtual void Terminate(Option_t *option);
- /* @} */
-
- ClassDef(CopyHeaderTask,1);
-};
-
-void
-CopyHeaderTask::UserExec(Option_t*)
-{
- AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
- AliAODEvent* aod = dynamic_cast<AliAODEvent*>(AODEvent());
-
- if (!esd) {
- AliWarning("Missing ESD event");
- return;
- }
- if (!aod) {
- AliWarning("Missing AOD event");
- return;
- }
-
- AliAODHeader* aodHeader = aod->GetHeader();
- if (!aodHeader) {
- AliWarning("Missing AOD header");
- return;
- }
-
- aodHeader->SetRunNumber(esd->GetRunNumber());
- aodHeader->SetOfflineTrigger(fInputHandler->IsEventSelected());
- aodHeader->SetBunchCrossNumber(esd->GetBunchCrossNumber());
- aodHeader->SetOrbitNumber(esd->GetOrbitNumber());
- aodHeader->SetPeriodNumber(esd->GetPeriodNumber());
- aodHeader->SetEventType(esd->GetEventType());
- aodHeader->SetEventNumberESDFile(esd->GetHeader()->GetEventNumberInFile());
- if(esd->GetCentrality())
- aodHeader->SetCentrality(new AliCentrality(*(esd->GetCentrality())));
- else
- aodHeader->SetCentrality(0);
-
- aodHeader->SetFiredTriggerClasses(esd->GetFiredTriggerClasses());
- aodHeader->SetTriggerMask(esd->GetTriggerMask());
- aodHeader->SetTriggerCluster(esd->GetTriggerCluster());
- aodHeader->SetL0TriggerInputs(esd->GetHeader()->GetL0TriggerInputs());
- aodHeader->SetL1TriggerInputs(esd->GetHeader()->GetL1TriggerInputs());
- aodHeader->SetL2TriggerInputs(esd->GetHeader()->GetL2TriggerInputs());
-
- aodHeader->SetMagneticField(esd->GetMagneticField());
- aodHeader->SetMuonMagFieldScale(esd->GetCurrentDip()/6000.);
- aodHeader->SetZDCN1Energy(esd->GetZDCN1Energy());
- aodHeader->SetZDCP1Energy(esd->GetZDCP1Energy());
- aodHeader->SetZDCN2Energy(esd->GetZDCN2Energy());
- aodHeader->SetZDCP2Energy(esd->GetZDCP2Energy());
- aodHeader->SetZDCEMEnergy(esd->GetZDCEMEnergy(0),esd->GetZDCEMEnergy(1));
-}
-
-void
-CopyHeaderTask::Terminate(Option_t*)
-{}
-
/**
- *
+ * Script to add task to copy header from ESD to AOD
*
* @ingroup pwg2_forward_aod
*/
void
AddTaskCopyHeader()
{
+ // --- Load libraries ----------------------------------------------
+ gROOT->LoadClass("AliAODForwardMult", "libPWG2forward2");
+
+ // --- Get analysis manager ----------------------------------------
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
Error("AddTaskCopyHeader", "No analysis manager to connect to.");
return;
}
-
- gROOT->Macro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
-
- CopyHeaderTask* task = new CopyHeaderTask;
+
+ // --- Create task -------------------------------------------------
+ AliCopyHeaderTask* task = new AliCopyHeaderTask;
mgr->AddTask(task);
- // AliAnalysisDataContainer* histOut =
- // mgr->CreateContainer("Forward", TList::Class(),
- // AliAnalysisManager::kOutputContainer,outputfile);
+ // --- Connect input -----------------------------------------------
mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
- // mgr->ConnectOutput(task, 1, histOut);
}
//
// EOF
--- /dev/null
+/**
+ * @file AliCopyHeaderTask.cxx
+ * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
+ * @date Tue Jul 12 10:59:32 2011
+ *
+ * @brief Task to copy ESD header to AOD
+ *
+ * @ingroup pwg2_forward_tasks
+ */
+
+#include "AliCopyHeaderTask.h"
+#include "AliESDEvent.h"
+#include "AliAODEvent.h"
+#include "AliCentrality.h"
+#include "AliInputEventHandler.h"
+
+ClassImp(AliCopyHeaderTask)
+#if 0
+; // for emacs - do not remove
+#endif
+
+void
+AliCopyHeaderTask::UserExec(Option_t*)
+{
+ //
+ // Called at every event
+ //
+ // Copies information from ESD header to AOD header
+ //
+ AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
+ AliAODEvent* aod = dynamic_cast<AliAODEvent*>(AODEvent());
+
+ if (!esd) {
+ AliWarning("Missing ESD event");
+ return;
+ }
+ if (!aod) {
+ AliWarning("Missing AOD event");
+ return;
+ }
+
+ AliAODHeader* aodHeader = aod->GetHeader();
+ if (!aodHeader) {
+ AliWarning("Missing AOD header");
+ aodHeader = new AliAODHeader(esd->GetRunNumber(),
+ esd->GetBunchCrossNumber(),
+ esd->GetOrbitNumber(),
+ esd->GetPeriodNumber());
+ aod->AddHeader(aodHeader);
+ }
+
+ aodHeader->SetRunNumber(esd->GetRunNumber());
+ aodHeader->SetOfflineTrigger(fInputHandler->IsEventSelected());
+ aodHeader->SetBunchCrossNumber(esd->GetBunchCrossNumber());
+ aodHeader->SetOrbitNumber(esd->GetOrbitNumber());
+ aodHeader->SetPeriodNumber(esd->GetPeriodNumber());
+ aodHeader->SetEventType(esd->GetEventType());
+ aodHeader->SetEventNumberESDFile(esd->GetHeader()->GetEventNumberInFile());
+ if(esd->GetCentrality())
+ aodHeader->SetCentrality(new AliCentrality(*(esd->GetCentrality())));
+ else
+ aodHeader->SetCentrality(0);
+
+ aodHeader->SetFiredTriggerClasses(esd->GetFiredTriggerClasses());
+ aodHeader->SetTriggerMask(esd->GetTriggerMask());
+ aodHeader->SetTriggerCluster(esd->GetTriggerCluster());
+ aodHeader->SetL0TriggerInputs(esd->GetHeader()->GetL0TriggerInputs());
+ aodHeader->SetL1TriggerInputs(esd->GetHeader()->GetL1TriggerInputs());
+ aodHeader->SetL2TriggerInputs(esd->GetHeader()->GetL2TriggerInputs());
+
+ aodHeader->SetMagneticField(esd->GetMagneticField());
+ aodHeader->SetMuonMagFieldScale(esd->GetCurrentDip()/6000.);
+ aodHeader->SetZDCN1Energy(esd->GetZDCN1Energy());
+ aodHeader->SetZDCP1Energy(esd->GetZDCP1Energy());
+ aodHeader->SetZDCN2Energy(esd->GetZDCN2Energy());
+ aodHeader->SetZDCP2Energy(esd->GetZDCP2Energy());
+ aodHeader->SetZDCEMEnergy(esd->GetZDCEMEnergy(0),esd->GetZDCEMEnergy(1));
+}
+
+void
+AliCopyHeaderTask::Terminate(Option_t*)
+{
+ // Called at the end of the job - does nothing
+}
+
+//
+// EOF
+//
--- /dev/null
+#ifndef ALICOPYHEADERTASK_H
+#define ALICOPYHEADERTASK_H
+/**
+ * @file AliCopyHeaderTask.h
+ * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
+ * @date Tue Jul 12 10:56:38 2011
+ *
+ * @brief A task to copy the ESD header to AOD
+ *
+ * @ingroup pwg2_forward_tasks
+ */
+#include <AliAnalysisTaskSE.h>
+
+/**
+ * Task to copy header from ESD to AOD
+ *
+ * @ingroup pwg2_forward_scripts_tasks
+ * @ingroup pwg2_forward_aod
+ */
+class AliCopyHeaderTask : public AliAnalysisTaskSE
+{
+public:
+ AliCopyHeaderTask(const char* name="header")
+ : AliAnalysisTaskSE(name)
+ {}
+ AliCopyHeaderTask(const AliCopyHeaderTask& other)
+ : AliAnalysisTaskSE(other)
+ {}
+ virtual ~AliCopyHeaderTask() {}
+ AliCopyHeaderTask& operator=(const AliCopyHeaderTask& other)
+ {
+ AliAnalysisTaskSE::operator=(other);
+ return *this;
+ }
+ /**
+ * @{
+ * @name Implementation of interface methods
+ */
+ virtual void UserCreateOutputObjects() {}
+ virtual void Init() {}
+ virtual void LocalInit() {Init();}
+ virtual void UserExec(Option_t *option);
+ virtual void Terminate(Option_t *option);
+ /* @} */
+
+ ClassDef(AliCopyHeaderTask,1);
+};
+
+#endif
+/*
+ * Local Variables:
+ * mode: C++
+ * End:
+ */
#pragma link C++ class AliFMDMultCuts+;
#pragma link C++ class AliPoissonCalculator+;
#pragma link C++ class AliForwardQATask+;
+#pragma link C++ class AliCopyHeaderTask+;
#else
# error Not for compilation