#include "AliESDVertex.h"
#include "AliESDcascade.h"
#include "AliESDPmdTrack.h"
+#include "AliESDTrdTrigger.h"
#include "AliESDTrdTrack.h"
#include "AliESDTrdTracklet.h"
#include "AliESDVertex.h"
"Tracks",
"MuonTracks",
"PmdTracks",
+ "AliESDTrdTrigger",
"TrdTracks",
"TrdTracklets",
"V0s",
fPHOSTrigger(0),
fEMCALTrigger(0),
fESDACORDE(0),
+ fTrdTrigger(0),
fSPDPileupVertices(0),
fTrkPileupVertices(0),
fTracks(0),
fPHOSTrigger(new AliESDCaloTrigger(*esd.fPHOSTrigger)),
fEMCALTrigger(new AliESDCaloTrigger(*esd.fEMCALTrigger)),
fESDACORDE(new AliESDACORDE(*esd.fESDACORDE)),
+ fTrdTrigger(new AliESDTrdTrigger(*esd.fTrdTrigger)),
fSPDPileupVertices(new TClonesArray(*esd.fSPDPileupVertices)),
fTrkPileupVertices(new TClonesArray(*esd.fTrkPileupVertices)),
fTracks(new TClonesArray(*esd.fTracks)),
AddObject(fSPDMult);
AddObject(fPHOSTrigger);
AddObject(fEMCALTrigger);
+ AddObject(fTrdTrigger);
AddObject(fSPDPileupVertices);
AddObject(fTrkPileupVertices);
AddObject(fTracks);
new (fTOFHeader) AliTOFHeader();
//fTOFHeader->SetName(fgkESDListName[kTOFHeader]);
}
+ if (fTrdTrigger) {
+ fTrdTrigger->~AliESDTrdTrigger();
+ new (fTrdTrigger) AliESDTrdTrigger();
+ }
if(fPHOSTrigger)fPHOSTrigger->DeAllocate();
if(fEMCALTrigger)fEMCALTrigger->DeAllocate();
if(fSPDPileupVertices)fSPDPileupVertices->Delete();
new(fpmd[fPmdTracks->GetEntriesFast()]) AliESDPmdTrack(*t);
}
+void AliESDEvent::SetTrdTrigger(const AliESDTrdTrigger *t)
+{
+ *fTrdTrigger = *t;
+}
+
void AliESDEvent::AddTrdTrack(const AliESDTrdTrack *t)
{
TClonesArray &ftrd = *fTrdTracks;
fTracks = (TClonesArray*)fESDObjects->FindObject(fgkESDListName[kTracks]);
fMuonTracks = (TClonesArray*)fESDObjects->FindObject(fgkESDListName[kMuonTracks]);
fPmdTracks = (TClonesArray*)fESDObjects->FindObject(fgkESDListName[kPmdTracks]);
+ fTrdTrigger = (AliESDTrdTrigger*)fESDObjects->FindObject(fgkESDListName[kTrdTrigger]);
fTrdTracks = (TClonesArray*)fESDObjects->FindObject(fgkESDListName[kTrdTracks]);
fTrdTracklets = (TClonesArray*)fESDObjects->FindObject(fgkESDListName[kTrdTracklets]);
fV0s = (TClonesArray*)fESDObjects->FindObject(fgkESDListName[kV0s]);
AddObject(new TClonesArray("AliESDtrack",0));
AddObject(new TClonesArray("AliESDMuonTrack",0));
AddObject(new TClonesArray("AliESDPmdTrack",0));
+ AddObject(new AliESDTrdTrigger());
AddObject(new TClonesArray("AliESDTrdTrack",0));
AddObject(new TClonesArray("AliESDTrdTracklet",0));
AddObject(new TClonesArray("AliESDv0",0));
class AliMultiplicity;
class AliRawDataErrorLog;
class AliESDRun;
+class AliESDTrdTrigger;
class AliESDTrdTrack;
class AliESDTrdTracklet;
class AliESDMuonTrack;
kTracks,
kMuonTracks,
kPmdTracks,
+ kTrdTrigger,
kTrdTracks,
kTrdTracklets,
kV0s,
}
+ void SetTrdTrigger(const AliESDTrdTrigger *t);
+
+ AliESDTrdTrigger* GetTrdTrigger() const {
+ return (AliESDTrdTrigger*)(fTrdTrigger);
+ }
+
void AddTrdTrack(const AliESDTrdTrack *t);
AliESDTrdTracklet* GetTrdTracklet(Int_t idx) const {
AliESDCaloTrigger* fPHOSTrigger; //! PHOS Trigger information
AliESDCaloTrigger* fEMCALTrigger; //! PHOS Trigger information
AliESDACORDE *fESDACORDE; //! ACORDE ESD object caontaining bit pattern
+ AliESDTrdTrigger *fTrdTrigger; //! TRD trigger information
TClonesArray *fSPDPileupVertices;//! Pileup primary vertices reconstructed by SPD
TClonesArray *fTrkPileupVertices;//! Pileup primary vertices reconstructed using the tracks
// and T0spread as written in OCDB
AliCentrality *fCentrality; //! Centrality for AA collision
AliEventplane *fEventplane; //! Event plane for AA collision
- ClassDef(AliESDEvent,14) //ESDEvent class
+ ClassDef(AliESDEvent,15) //ESDEvent class
};
#endif
--- /dev/null
+#include "TObject.h"
+
+#include "AliESDTrdTrigger.h"
+
+AliESDTrdTrigger::AliESDTrdTrigger() :
+ TObject()
+{
+ // default ctor
+
+ for (Int_t iSector = 0; iSector < fgkNsectors; iSector++) {
+ fFlags[iSector] = 0x0;
+ }
+}
+
+AliESDTrdTrigger::AliESDTrdTrigger(const AliESDTrdTrigger &rhs) :
+ TObject(rhs)
+{
+ // copy ctor
+
+ for (Int_t iSector = 0; iSector < fgkNsectors; iSector++) {
+ fFlags[iSector] = rhs.fFlags[iSector];
+ }
+}
+
+AliESDTrdTrigger& AliESDTrdTrigger::operator=(const AliESDTrdTrigger &rhs)
+{
+ // assignment operator
+ if (&rhs != this) {
+ TObject::operator=(rhs);
+ for (Int_t iSector = 0; iSector < fgkNsectors; iSector++) {
+ fFlags[iSector] = rhs.fFlags[iSector];
+ }
+ }
+
+ return *this;
+}
+
+AliESDTrdTrigger::~AliESDTrdTrigger()
+{
+ // dtor
+
+}
--- /dev/null
+#ifndef ALIESDTRDTRIGGER_H
+#define ALIESDTRDTRIGGER_H
+
+#include "TObject.h"
+
+class AliESDTrdTrigger : public TObject
+{
+ public:
+ AliESDTrdTrigger();
+ AliESDTrdTrigger(const AliESDTrdTrigger &rhs);
+ AliESDTrdTrigger& operator=(const AliESDTrdTrigger &rhs);
+ ~AliESDTrdTrigger();
+
+ UInt_t GetFlags(const Int_t sector) const { return fFlags[sector]; }
+
+ void SetFlags(const Int_t sector, const UInt_t flags) { fFlags[sector] = flags; }
+
+ protected:
+ static const Int_t fgkNsectors = 18; // number of sectors
+
+ UInt_t fFlags[fgkNsectors]; // trigger flags for every sector
+
+ ClassDef(AliESDTrdTrigger, 1);
+};
+
+#endif