fZDCP1Energy(-999.),
fZDCN2Energy(-999.),
fZDCP2Energy(-999.),
- fZDCEMEnergy(-999.),
+ fNQTheta(0),
+ fQTheta(0x0),
fTriggerMask(0),
- fEventType(0),
- fBunchCrossNumber(0),
- fOrbitNumber(0),
- fPeriodNumber(0),
fRunNumber(-999),
fRefMult(-999),
fRefMultPos(-999),
fRefMultNeg(-999),
+ fEventType(0),
+ fOrbitNumber(0),
+ fPeriodNumber(0),
+ fBunchCrossNumber(0),
fTriggerCluster(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.;
}
//______________________________________________________________________________
UShort_t nBunchX,
UInt_t nOrbit,
UInt_t nPeriod,
- Char_t *title) :
+ const Char_t *title) :
AliVHeader(),
fMagneticField(-999.),
fMuonMagFieldScale(-999.),
fZDCP1Energy(-999.),
fZDCN2Energy(-999.),
fZDCP2Energy(-999.),
- fZDCEMEnergy(-999.),
+ fNQTheta(0),
+ fQTheta(0x0),
fTriggerMask(0),
- fEventType(0),
- fBunchCrossNumber(nBunchX),
- fOrbitNumber(nOrbit),
- fPeriodNumber(nPeriod),
fRunNumber(nRun),
fRefMult(-999),
fRefMultPos(-999),
fRefMultNeg(-999),
+ fEventType(0),
+ fOrbitNumber(nOrbit),
+ fPeriodNumber(nPeriod),
+ fBunchCrossNumber(nBunchX),
fTriggerCluster(0)
{
// constructor
SetName("header");
SetTitle(title);
+ 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.;
}
//______________________________________________________________________________
Double_t p1Energy,
Double_t n2Energy,
Double_t p2Energy,
- Double_t emEnergy,
+ Double_t *emEnergy,
ULong64_t trigMask,
UChar_t trigClus,
UInt_t evttype,
- Char_t *title) :
+ const Char_t *title) :
AliVHeader(),
fMagneticField(magField),
fMuonMagFieldScale(muonMagFieldScale),
fZDCP1Energy(p1Energy),
fZDCN2Energy(n2Energy),
fZDCP2Energy(p2Energy),
- fZDCEMEnergy(emEnergy),
+ fNQTheta(0),
+ fQTheta(0x0),
fTriggerMask(trigMask),
- fEventType(evttype),
- fBunchCrossNumber(nBunchX),
- fOrbitNumber(nOrbit),
- fPeriodNumber(nPeriod),
fRunNumber(nRun),
fRefMult(refMult),
fRefMultPos(refMultPos),
fRefMultNeg(refMultNeg),
+ fEventType(evttype),
+ fOrbitNumber(nOrbit),
+ fPeriodNumber(nPeriod),
+ fBunchCrossNumber(nBunchX),
fTriggerCluster(trigClus)
{
// constructor
SetName("header");
SetTitle(title);
+ for(int j=0; j<2; j++) fZDCEMEnergy[j] = emEnergy[j];
+ for(Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
+ fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
+ fDiamondCovXY[1]=0.;
}
//______________________________________________________________________________
AliAODHeader::~AliAODHeader()
{
// destructor
+
+ RemoveQTheta();
}
//______________________________________________________________________________
fZDCP1Energy(hdr.fZDCP1Energy),
fZDCN2Energy(hdr.fZDCN2Energy),
fZDCP2Energy(hdr.fZDCP2Energy),
- fZDCEMEnergy(hdr.fZDCEMEnergy),
+ fNQTheta(0),
+ fQTheta(0x0),
fTriggerMask(hdr.fTriggerMask),
- fEventType(hdr.fEventType),
- fBunchCrossNumber(hdr.fBunchCrossNumber),
- fOrbitNumber(hdr.fOrbitNumber),
- fPeriodNumber(hdr.fPeriodNumber),
fRunNumber(hdr.fRunNumber),
fRefMult(hdr.fRefMult),
fRefMultPos(hdr.fRefMultPos),
fRefMultNeg(hdr.fRefMultNeg),
+ fEventType(hdr.fEventType),
+ fOrbitNumber(hdr.fOrbitNumber),
+ fPeriodNumber(hdr.fPeriodNumber),
+ fBunchCrossNumber(hdr.fBunchCrossNumber),
fTriggerCluster(hdr.fTriggerCluster)
{
// Copy constructor.
SetName(hdr.fName);
SetTitle(hdr.fTitle);
+ SetQTheta(hdr.fQTheta, hdr.fNQTheta);
+ SetZDCEMEnergy(hdr.fZDCEMEnergy[0], hdr.fZDCEMEnergy[1]);
+ for(Int_t i=0; i<2; i++) fDiamondXY[i]=hdr.fDiamondXY[i];
+ for(Int_t i=0; i<3; i++) fDiamondCovXY[i]=hdr.fDiamondCovXY[i];
}
//______________________________________________________________________________
fZDCP1Energy = hdr.fZDCP1Energy;
fZDCN2Energy = hdr.fZDCN2Energy;
fZDCP2Energy = hdr.fZDCP2Energy;
- fZDCEMEnergy = hdr.fZDCEMEnergy;
fTriggerMask = hdr.fTriggerMask;
- fEventType = hdr.fEventType;
- fBunchCrossNumber = hdr.fBunchCrossNumber;
- fOrbitNumber = hdr.fOrbitNumber;
- fPeriodNumber = hdr.fPeriodNumber;
fRunNumber = hdr.fRunNumber;
fRefMult = hdr.fRefMult;
fRefMultPos = hdr.fRefMultPos;
fRefMultNeg = hdr.fRefMultNeg;
+ fEventType = hdr.fEventType;
+ fOrbitNumber = hdr.fOrbitNumber;
+ fPeriodNumber = hdr.fPeriodNumber;
+ fBunchCrossNumber = hdr.fBunchCrossNumber;
fTriggerCluster = hdr.fTriggerCluster;
+
+ SetName(hdr.fName);
+ SetTitle(hdr.fTitle);
+ SetQTheta(hdr.fQTheta, hdr.fNQTheta);
+ SetZDCEMEnergy(hdr.fZDCEMEnergy[0], hdr.fZDCEMEnergy[1]);
+ for(Int_t i=0; i<2; i++) fDiamondXY[i]=hdr.fDiamondXY[i];
+ for(Int_t i=0; i<3; i++) fDiamondCovXY[i]=hdr.fDiamondCovXY[i];
}
- SetName(hdr.fName);
- SetTitle(hdr.fTitle);
return *this;
}
+//______________________________________________________________________________
+void AliAODHeader::SetQTheta(Double_t *QTheta, UInt_t size)
+{
+ if (QTheta && size>0) {
+ 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
{
printf("ZDC P1 Energy : %f\n", fZDCP1Energy);
printf("ZDC N2 Energy : %f\n", fZDCN2Energy);
printf("ZDC P2 Energy : %f\n", fZDCP2Energy);
- printf("ZDC EM Energy : %f\n", fZDCEMEnergy);
+ 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);
+ if (fQTheta) {
+ for (UInt_t i = 0; i<(UInt_t)fNQTheta; i++) {
+ printf("QTheta[%d] : %13.3e\n", i, GetQTheta(i));
+ }
+ }
+
+ return;
}