]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
AliAODEvent::GetHeader now return AliVHeader
authormfloris <michele.floris@cern.ch>
Wed, 3 Sep 2014 08:23:08 +0000 (10:23 +0200)
committerhristov <Peter.Hristov@cern.ch>
Mon, 27 Oct 2014 12:44:02 +0000 (13:44 +0100)
This required patching the base classes in a few places and moving
some of the NanoAOD to STEER/AOD and checking which actual header is
contained in the AODEvent class in a few places.  This commit does not
compile (analysis tasks which use AliAODEvent::GetHeader still need to
be patched)

14 files changed:
ANALYSIS/AliAnalysisTaskSE.cxx
ANALYSIS/AliAnalysisTaskSE.h
PWG/CMakelibPWGDevNanoAOD.pkg
STEER/AOD/AliAODEvent.cxx
STEER/AOD/AliAODEvent.h
STEER/AOD/AliAODInputHandler.cxx
STEER/AOD/AliNanoAODHeader.cxx [moved from PWG/DevNanoAOD/AliNanoAODHeader.cxx with 100% similarity]
STEER/AOD/AliNanoAODHeader.h [moved from PWG/DevNanoAOD/AliNanoAODHeader.h with 56% similarity]
STEER/AOD/AliNanoAODStorage.cxx [moved from PWG/DevNanoAOD/AliNanoAODStorage.cxx with 100% similarity]
STEER/AOD/AliNanoAODStorage.h [moved from PWG/DevNanoAOD/AliNanoAODStorage.h with 100% similarity]
STEER/AOD/AliNanoAODTrackMapping.cxx [moved from PWG/DevNanoAOD/AliNanoAODTrackMapping.cxx with 100% similarity]
STEER/AOD/AliNanoAODTrackMapping.h [moved from PWG/DevNanoAOD/AliNanoAODTrackMapping.h with 100% similarity]
STEER/CMakelibAOD.pkg
STEER/STEERBase/AliVAODHeader.h

index 074bdb390357d8d27078e28bae72a257d34ec204..34b2610d606ba91e64034ccedfb2858ee3ef2685 100644 (file)
@@ -55,7 +55,7 @@
 ClassImp(AliAnalysisTaskSE)
 
 ////////////////////////////////////////////////////////////////////////
-AliAODHeader*    AliAnalysisTaskSE::fgAODHeader         = NULL;
+AliVHeader*      AliAnalysisTaskSE::fgAODHeader         = NULL;
 AliTOFHeader*    AliAnalysisTaskSE::fgTOFHeader         = NULL;
 AliAODVZERO*     AliAnalysisTaskSE::fgAODVZERO          = NULL;
 TClonesArray*    AliAnalysisTaskSE::fgAODTracks         = NULL;
index e66753d07fb3c20c8774b9b794b58e1b86c42894..78aaaafd4668fc2163998bd3d062605a9c6d1e74 100644 (file)
@@ -88,7 +88,7 @@ class AliAnalysisTaskSE : public AliAnalysisTask
     // Output histos for QA
     TList*                fHistosQA;        //! Output histos for QA
     // Provisions for replication
-    static AliAODHeader*    fgAODHeader;        //! Header for replication
+    static AliVHeader*      fgAODHeader;        //! Header for replication
     static AliTOFHeader*    fgTOFHeader;        //! TOFHeader for replication
     static AliAODVZERO*     fgAODVZERO;         //! VZERO for replication
     static TClonesArray*    fgAODTracks;        //! Tracks for replication
index 101a93e47b9f007bc257800d4c912d43126fab5e..e5dc493b7b67b226c4cb1c06a425d0d0eb632769 100644 (file)
@@ -31,11 +31,8 @@ set ( SRCS
     DevNanoAOD/AliAnalysisTaskNanoAODFilter.cxx
     DevNanoAOD/AliESEHelpers.cxx
     DevNanoAOD/AliNanoAODCustomSetter.cxx
-    DevNanoAOD/AliNanoAODHeader.cxx
     DevNanoAOD/AliNanoAODReplicator.cxx
-    DevNanoAOD/AliNanoAODStorage.cxx
     DevNanoAOD/AliNanoAODTrack.cxx
-    DevNanoAOD/AliNanoAODTrackMapping.cxx
     DevNanoAOD/AliAnalysisTaskSpectraAllChNanoAOD.cxx
     )
 
index 02f9a5fa315a4d82de2d5faef986ed81357ffcab..93a397f8606cee517c953ffbade4e89c91bb88cc 100644 (file)
@@ -99,7 +99,8 @@ AliAODEvent::AliAODEvent(const AliAODEvent& aod):
   fAODFolder(0),
   fConnected(kFALSE),
   fTracksConnected(kFALSE),
-  fHeader(new AliAODHeader(*aod.fHeader)),
+  //  fHeader(new AliAODHeader(*aod.fHeader)),
+  fHeader(0),
   fTracks(new TClonesArray(*aod.fTracks)),
   fVertices(new TClonesArray(*aod.fVertices)),
   fV0s(new TClonesArray(*aod.fV0s)),
@@ -122,6 +123,7 @@ AliAODEvent::AliAODEvent(const AliAODEvent& aod):
   fTrdTracks(new TClonesArray(*aod.fTrdTracks))
 {
   // Copy constructor
+  AddHeader(fHeader);
   AddObject(fHeader);
   AddObject(fTracks);
   AddObject(fVertices);
@@ -399,7 +401,7 @@ void AliAODEvent::GetStdContent()
 {
   // set pointers for standard content
 
-  fHeader        = (AliAODHeader*)fAODObjects->FindObject("header");
+  fHeader        = (AliVAODHeader*)fAODObjects->FindObject("header");
   fTracks        = (TClonesArray*)fAODObjects->FindObject("tracks");
   fVertices      = (TClonesArray*)fAODObjects->FindObject("vertices");
   fV0s           = (TClonesArray*)fAODObjects->FindObject("v0s");
@@ -990,6 +992,7 @@ void AliAODEvent::Reset()
   }
 }
 
+// FIXME: Why is this in event and not in header?
 Float_t AliAODEvent::GetVZEROEqMultiplicity(Int_t i) const
 {
   // Get VZERO Multiplicity for channel i
index 9e15039f2237516f66b28c8028ea5b16164db5ac..aec39d8a7c1429170c982a95ff3094ff5f8e189c 100644 (file)
@@ -20,7 +20,7 @@
 #include "AliVParticle.h"
 #include "AliVHeader.h"
 #include "AliAODHeader.h"
-//#include "AliNanoAODHeader.h"
+#include "AliNanoAODHeader.h"
 #include "AliAODTrack.h"
 #include "AliAODVertex.h"
 #include "AliAODv0.h"
@@ -86,14 +86,14 @@ class AliAODEvent : public AliVEvent {
   Bool_t        AreTracksConnected() const {return fTracksConnected;}
 
   // -- Header
-  AliAODHeader    *GetHeader()              const { return fHeader; }
+  AliVHeader    *GetHeader()              const { return fHeader; }
   void          AddHeader(const AliVHeader* hdx)
     {
       delete fHeader; 
       if(dynamic_cast<const AliAODHeader*>(hdx)) {
        fHeader = new AliAODHeader(*(const AliAODHeader*)hdx);
-      // } else if (dynamic_cast<const AliNanoAODHeader*>(hdx)) {
-      //   fHeader = new AliNanoAODHeader(*(const AliNanoAODHeader*)hdx);
+      } else if (dynamic_cast<const AliNanoAODHeader*>(hdx)) {
+        fHeader = new AliNanoAODHeader(*(const AliNanoAODHeader*)hdx);
       }
       else {
         AliError(Form("Unknown header type %s", hdx->ClassName()));
@@ -326,7 +326,7 @@ class AliAODEvent : public AliVEvent {
   Bool_t   fConnected;  //! flag if leaves are alreday connected 
   Bool_t   fTracksConnected;      //! flag if tracks have already pointer to event set
   // standard content
-  AliAODHeader      *fHeader;       //! event information
+  AliVAODHeader   *fHeader;       //! event information
   TClonesArray    *fTracks;       //! charged tracks
   TClonesArray    *fVertices;     //! vertices
   TClonesArray    *fV0s;          //! V0s
index 32ff57c9a9c5e31d377aaa921a62507f4b6acb0e..7f52973a8d066d5318541a067ffdc3fc4b04cf55 100644 (file)
@@ -149,7 +149,7 @@ Bool_t AliAODInputHandler::BeginEvent(Long64_t entry)
     if (fEventCuts)
       fIsSelectedResult = fEventCuts->GetSelectionMask(fEvent);
     else
-      fIsSelectedResult = fEvent->GetHeader()->GetOfflineTrigger();
+      fIsSelectedResult = static_cast<AliVAODHeader*>(fEvent->GetHeader())->GetOfflineTrigger();
 
     if (fMixingHandler) fMixingHandler->BeginEvent(entry);
 
similarity index 56%
rename from PWG/DevNanoAOD/AliNanoAODHeader.h
rename to STEER/AOD/AliNanoAODHeader.h
index 6c9c0ba218d0549ff783486982672eff353ba1b7..60e618df59998fb029cbc44fd5715b8a0c1db27c 100644 (file)
@@ -42,6 +42,32 @@ public:
   virtual Double_t GetSigma2DiamondY()             const    {AliError("Not Implemented"); return 0;};
   virtual Double_t GetSigma2DiamondZ()             const    {AliError("Not Implemented"); return 0;};
 
+  virtual void     SetOrbitNumber(UInt_t /* nOr */)           {AliError("Not Implemented"); };
+  virtual void     SetPeriodNumber(UInt_t /* nPer */)         {AliError("Not Implemented"); };
+  virtual void     SetBunchCrossNumber(UShort_t /* nBx */)    {AliError("Not Implemented"); };
+  virtual void     SetEventType(UInt_t /* evttype */)         {AliError("Not Implemented"); };
+  virtual void     SetTriggerMask(ULong64_t /* trigMsk */)    {AliError("Not Implemented"); };
+  virtual void     SetTriggerCluster(UChar_t /* trigClus */)  {AliError("Not Implemented"); };
+  virtual void     SetFiredTriggerClasses(TString /* trig */) {AliError("Not Implemented"); };
+  virtual TString  GetFiredTriggerClasses() const             {AliError("Not Implemented"); return "";};
+  virtual Double_t GetZDCN1Energy()         const             {AliError("Not Implemented"); return 0;};
+  virtual Double_t GetZDCP1Energy()         const             {AliError("Not Implemented"); return 0;};
+  virtual Double_t GetZDCN2Energy()         const             {AliError("Not Implemented"); return 0;};
+  virtual Double_t GetZDCP2Energy()         const             {AliError("Not Implemented"); return 0;};
+
+  virtual Double_t GetZDCEMEnergy(Int_t /* i */) const            {AliError("Not Implemented"); return 0;};
+  virtual Int_t    GetNumberOfESDTracks()  const            {AliError("Not Implemented"); return 0;};
+  virtual UInt_t   GetNumberOfITSClusters(Int_t /* ilay */) const {AliError("Not Implemented"); return 0;};
+  virtual Float_t  GetT0spread(Int_t /* i */)               const {AliError("Not Implemented"); return 0;};
+  // FIXME: THIS IS UGLY!!!!
+  // FIXME: use dynamic cast in AliAODEVent?
+  virtual AliCentrality* GetCentralityP()  const {AliError("Not Implemented"); return 0;};
+  virtual AliEventplane* GetEventplaneP()  const {AliError("Not Implemented"); return 0;};
+  virtual const Float_t* GetVZEROEqFactors() const {AliError("Not Implemented"); return 0;};
+  virtual Float_t        GetVZEROEqFactors(Int_t /* i */) const {AliError("Not Implemented"); return 0;};
+  virtual void           SetVZEROEqFactors(const Float_t* /*factors*/) {AliError("Not Implemented"); } 
+
+  virtual UInt_t GetOfflineTrigger()  {AliError("Not Implemented"); return 0;};
 
 
   virtual void Print(Option_t* /*option = ""*/) const  {Printf("I'm a special header!");}
index 70cbf8cc3c8746ed0d701cfb72b91e0359bf07c7..a4684c9827a5c822c9b64dceedbb9f9b01b1cc0c 100644 (file)
@@ -5,6 +5,7 @@ set ( SRCS  AliAODEvent.cxx AliAODHeader.cxx AliAODTrack.cxx AliAODPid.cxx AliAO
 set ( SRCS  
     AOD/AliAODEvent.cxx 
     AOD/AliAODHeader.cxx 
+    AOD/AliNanoAODHeader.cxx
     AOD/AliAODTrack.cxx 
     AOD/AliAODPid.cxx 
     AOD/AliAODVertex.cxx 
@@ -40,6 +41,8 @@ set ( SRCS
     AOD/AliAODHMPIDrings.cxx   
     AOD/AliAODTrdTrack.cxx
     AOD/AliAODTrdTracklet.cxx
+    AOD/AliNanoAODStorage.cxx
+    AOD/AliNanoAODTrackMapping.cxx
     )
 
 string( REPLACE ".cxx" ".h" HDRS "${SRCS}")
@@ -48,4 +51,4 @@ set ( DHDR AODLinkDef.h)
 
 set ( EXPORT ${HDRS} )
 
-set ( EINCLUDE  STEER/ESD STEER/STEERBase PWG/DevNanoAOD)
+set ( EINCLUDE  STEER/ESD STEER/STEERBase)
index fbc46ac9903361991c06f9382e16702611fd0a01..3ccce648e15922bfa01565051920d7fa10390678 100644 (file)
@@ -47,6 +47,36 @@ class AliVAODHeader : public AliVHeader {
   virtual Double_t GetSigma2DiamondY()             const    = 0;
   virtual Double_t GetSigma2DiamondZ()             const    = 0;
 
+  virtual Bool_t   InitMagneticField()      const       = 0;
+  virtual void     SetRunNumber(Int_t nRun)             = 0;
+  virtual void     SetOrbitNumber(UInt_t nOr)           = 0;
+  virtual void     SetPeriodNumber(UInt_t nPer)         = 0;
+  virtual void     SetBunchCrossNumber(UShort_t nBx)    = 0;
+  virtual void     SetEventType(UInt_t evttype)         = 0;
+  virtual UInt_t   GetEventType()           const       = 0;
+  virtual void     SetTriggerMask(ULong64_t trigMsk)    = 0;
+  virtual void     SetTriggerCluster(UChar_t trigClus)  = 0;
+  virtual void     SetFiredTriggerClasses(TString trig) = 0;
+  virtual TString  GetFiredTriggerClasses() const       = 0;
+  virtual Double_t GetZDCN1Energy()         const       = 0;
+  virtual Double_t GetZDCP1Energy()         const       = 0;
+  virtual Double_t GetZDCN2Energy()         const       = 0;
+  virtual Double_t GetZDCP2Energy()         const       = 0;
+
+  virtual Double_t GetZDCEMEnergy(Int_t /* i */)            const  = 0;
+  virtual Int_t    GetNumberOfESDTracks()                   const  = 0;
+  virtual UInt_t   GetNumberOfITSClusters(Int_t /* ilay */) const  = 0;
+  virtual Float_t  GetT0spread(Int_t /* i */)               const  = 0;
+  // FIXME: THIS IS UGLY!!!!                                       
+  // FIXME: use dynamic cast in AliAODEVent?                       
+  virtual AliCentrality* GetCentralityP()                   const  = 0;
+  virtual AliEventplane* GetEventplaneP()                   const  = 0;
+  virtual const Float_t* GetVZEROEqFactors()                const  = 0;
+  virtual Float_t        GetVZEROEqFactors(Int_t /* i */)   const  = 0;
+  virtual void           SetVZEROEqFactors(const Float_t* /*factors*/)  = 0;
+  virtual UInt_t GetOfflineTrigger()  = 0;
+
+
 };
 
 #endif