]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Handler for ESD input for analysis.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Oct 2007 14:54:43 +0000 (14:54 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Oct 2007 14:54:43 +0000 (14:54 +0000)
STEER/AliESDInputHandler.cxx [new file with mode: 0644]
STEER/AliESDInputHandler.h [new file with mode: 0644]
STEER/ESDLinkDef.h
STEER/libESD.pkg

diff --git a/STEER/AliESDInputHandler.cxx b/STEER/AliESDInputHandler.cxx
new file mode 100644 (file)
index 0000000..8c5e068
--- /dev/null
@@ -0,0 +1,70 @@
+/**************************************************************************
+ * Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
+//-------------------------------------------------------------------------
+//     Event handler for ESD input 
+//     Author: Andreas Morsch, CERN
+//-------------------------------------------------------------------------
+
+#include <TChain.h>
+
+#include "AliESDInputHandler.h"
+#include "AliESDEvent.h"
+#include "AliESD.h"
+
+ClassImp(AliESDInputHandler)
+
+//______________________________________________________________________________
+AliESDInputHandler::AliESDInputHandler() :
+  AliInputEventHandler()
+{
+  // default constructor
+}
+
+//______________________________________________________________________________
+AliESDInputHandler::~AliESDInputHandler() 
+{
+// destructor
+}
+
+//______________________________________________________________________________
+AliESDInputHandler::AliESDInputHandler(const char* name, const char* title):
+    AliInputEventHandler(name, title)
+{
+}
+
+Bool_t AliESDInputHandler::InitIO(Option_t* /*opt*/)
+{
+    // Get pointer to ESD event
+    fEvent = new AliESDEvent();
+    fEvent->ReadFromTree(fChain);
+    return kTRUE;
+}
+
+Bool_t AliESDInputHandler::BeginEvent()
+{
+    // Copy from old to new format if necessary
+    AliESD* old = ((AliESDEvent*) fEvent)->GetAliESDOld();
+    if (old) {
+       printf("It's an old ESD \n");
+       
+       ((AliESDEvent*)fEvent)->CopyFromOldESD();
+       old->Reset();
+    }
+    return kTRUE;
+}
+
diff --git a/STEER/AliESDInputHandler.h b/STEER/AliESDInputHandler.h
new file mode 100644 (file)
index 0000000..ac80a0d
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef ALIESDINPUTHANDLER_H
+#define ALIESDINPUTHANDLER_H
+/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+/* $Id$ */
+
+//-------------------------------------------------------------------------
+//     ESD Input Handler realisation of the AliVEventHandler interface
+//     Author: Andreas Morsch, CERN
+//-------------------------------------------------------------------------
+
+#include "AliInputEventHandler.h"
+
+
+class AliESDInputHandler : public AliInputEventHandler {
+
+ public:
+    AliESDInputHandler();
+    AliESDInputHandler(const char* name, const char* title);
+    virtual ~AliESDInputHandler();
+    virtual Bool_t       InitIO(Option_t* opt);
+    virtual Bool_t       BeginEvent();
+    private:
+    ClassDef(AliESDInputHandler, 1);
+};
+
+#endif
index ba6ffa03fa198cd5910171b56763c10d1a5d8a36..b890963dfd1ac58e8d107cefe4d1375da7455169 100644 (file)
@@ -13,6 +13,7 @@
 
 #pragma link C++ class  AliESD+;
 #pragma link C++ class  AliESDEvent+;
+#pragma link C++ class  AliESDInputHandler+;
 #pragma link C++ class  AliESDRun+;
 #pragma link C++ class  AliESDHeader+;
 #pragma link C++ class  AliESDZDC+;
index e5931e060b64a2062e901a00dedd83ddf0c1df03..9fa371623aed1a08a4264694e06d3476c4822fc4 100644 (file)
@@ -1,4 +1,4 @@
-SRCS = AliESDEvent.cxx AliESDfriend.cxx AliESD.cxx \
+SRCS = AliESDEvent.cxx AliESDInputHandler.cxx AliESDfriend.cxx AliESD.cxx \
        AliESDtrack.cxx AliESDfriendTrack.cxx\
        AliESDMuonTrack.cxx AliESDPmdTrack.cxx AliESDTrdTrack.cxx AliESDHLTtrack.cxx \
        AliESDv0.cxx AliESDcascade.cxx AliVertex.cxx AliESDVertex.cxx \