/************************************************************************** * 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$ */ //------------------------------------------------------------------------- // AOD event base class // Author: Markus Oldenburg, CERN //------------------------------------------------------------------------- #include "AliAODHeader.h" #include #include ClassImp(AliAODHeader) //______________________________________________________________________________ AliAODHeader::AliAODHeader() : AliVHeader(), fMagneticField(-999.), fMuonMagFieldScale(-999.), fCentrality(-999.), fZDCN1Energy(-999.), fZDCP1Energy(-999.), fZDCN2Energy(-999.), fZDCP2Energy(-999.), fNQTheta(0), fQTheta(0x0), fTriggerMask(0), fFiredTriggers(), fRunNumber(-999), fRefMult(-999), fRefMultPos(-999), fRefMultNeg(-999), fNMuons(0), fNDimuons(0), fEventType(0), fOrbitNumber(0), fPeriodNumber(0), fBunchCrossNumber(0), fTriggerCluster(0), fDiamondZ(0.), fDiamondSig2Z(0.), fOfflineTrigger(0), fESDFileName(""), fEventNumberESDFile(-1), fL0TriggerInputs(0), fL1TriggerInputs(0), fL2TriggerInputs(0) { // default constructor SetName("header"); for(int j=0; j<2; j++) fZDCEMEnergy[j] = -999.; for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.; fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.; fDiamondCovXY[1]=0.; for (Int_t m=0; m0) { if (size != (UInt_t)fNQTheta) { RemoveQTheta(); fNQTheta = size; fQTheta = new Double_t[fNQTheta]; } for (Int_t i = 0; i < fNQTheta; i++) { fQTheta[i] = QTheta[i]; } } else { RemoveQTheta(); } return; } //______________________________________________________________________________ Double_t AliAODHeader::GetQTheta(UInt_t i) const { if (fQTheta && i < (UInt_t)fNQTheta) { return fQTheta[i]; } else { return -999.; } } //______________________________________________________________________________ void AliAODHeader::RemoveQTheta() { delete[] fQTheta; fQTheta = 0x0; fNQTheta = 0; return; } //______________________________________________________________________________ void AliAODHeader::Print(Option_t* /*option*/) const { // prints event information printf("Run # : %d\n", fRunNumber); printf("Bunch Crossing # : %d\n", fBunchCrossNumber); printf("Orbit Number # : %d\n", fOrbitNumber); printf("Period Number # : %d\n", fPeriodNumber); printf("Trigger mask : %lld\n", fTriggerMask); printf("Trigger cluster : %d\n", fTriggerCluster); printf("Event Type : %d\n", fEventType); printf("Magnetic field : %f\n", fMagneticField); printf("Muon mag. field scale : %f\n", fMuonMagFieldScale); printf("Centrality : %f\n", fCentrality); printf("ZDC N1 Energy : %f\n", fZDCN1Energy); printf("ZDC P1 Energy : %f\n", fZDCP1Energy); printf("ZDC N2 Energy : %f\n", fZDCN2Energy); printf("ZDC P2 Energy : %f\n", fZDCP2Energy); printf("ZDC EM1 Energy : %f\n", fZDCEMEnergy[0]); printf("ZDC EM2 Energy : %f\n", fZDCEMEnergy[1]); printf("ref. Multiplicity : %d\n", fRefMult); printf("ref. Multiplicity (pos) : %d\n", fRefMultPos); printf("ref. Multiplicity (neg) : %d\n", fRefMultNeg); printf("number of muons : %d\n", fNMuons); printf("number of dimuons : %d\n", fNDimuons); printf("offline trigger : %u\n", fOfflineTrigger); if (fQTheta) { for (UInt_t i = 0; i<(UInt_t)fNQTheta; i++) { printf("QTheta[%d] : %13.3e\n", i, GetQTheta(i)); } } return; }