//-------------------------------------------------------------------------
#include "AliAODHeader.h"
+#include "AliCentrality.h"
+#include "AliEventplane.h"
#include <TGeoMatrix.h>
#include <TObjString.h>
fMagneticField(-999.),
fMuonMagFieldScale(-999.),
fCentrality(-999.),
+ fEventplane(-999.),
fZDCN1Energy(-999.),
fZDCP1Energy(-999.),
fZDCN2Energy(-999.),
fRefMult(-999),
fRefMultPos(-999),
fRefMultNeg(-999),
+ fNMuons(0),
+ fNDimuons(0),
fEventType(0),
fOrbitNumber(0),
fPeriodNumber(0),
fBunchCrossNumber(0),
- fTriggerCluster(0)
+ fTriggerCluster(0),
+ fDiamondZ(0.),
+ fDiamondSig2Z(0.),
+ fOfflineTrigger(0),
+ fESDFileName(""),
+ fEventNumberESDFile(-1),
+ fL0TriggerInputs(0),
+ fL1TriggerInputs(0),
+ fL2TriggerInputs(0),
+ fTPConlyRefMult(-1),
+ fCentralityP(0),
+ fEventplaneP(0)
{
// default constructor
fDiamondCovXY[1]=0.;
for (Int_t m=0; m<kNPHOSMatrix; m++) fPHOSMatrix[m]=NULL;
for (Int_t sm=0; sm<kNEMCALMatrix; sm++) fEMCALMatrix[sm]=NULL;
+ for (Int_t i = 0; i < 6; i++) fITSClusters[i] = 0;
}
//______________________________________________________________________________
fMagneticField(-999.),
fMuonMagFieldScale(-999.),
fCentrality(-999.),
+ fEventplane(-999.),
fZDCN1Energy(-999.),
fZDCP1Energy(-999.),
fZDCN2Energy(-999.),
fRefMult(-999),
fRefMultPos(-999),
fRefMultNeg(-999),
+ fNMuons(0),
+ fNDimuons(0),
fEventType(0),
fOrbitNumber(nOrbit),
fPeriodNumber(nPeriod),
fBunchCrossNumber(nBunchX),
- fTriggerCluster(0)
+ fTriggerCluster(0),
+ fDiamondZ(0.),
+ fDiamondSig2Z(0.),
+ fOfflineTrigger(0),
+ fESDFileName(""),
+ fEventNumberESDFile(-1),
+ fL0TriggerInputs(0),
+ fL1TriggerInputs(0),
+ fL2TriggerInputs(0),
+ fTPConlyRefMult(-1),
+ fCentralityP(0),
+ fEventplaneP(0)
{
// constructor
Double_t magField,
Double_t muonMagFieldScale,
Double_t cent,
+ Double_t eventplane,
Double_t n1Energy,
Double_t p1Energy,
Double_t n2Energy,
ULong64_t trigMask,
UChar_t trigClus,
UInt_t evttype,
- const Char_t *title) :
+ const Char_t *title,
+ Int_t nMuons,
+ Int_t nDimuons) :
AliVHeader(),
fMagneticField(magField),
fMuonMagFieldScale(muonMagFieldScale),
fCentrality(cent),
+ fEventplane(eventplane),
fZDCN1Energy(n1Energy),
fZDCP1Energy(p1Energy),
fZDCN2Energy(n2Energy),
fRefMult(refMult),
fRefMultPos(refMultPos),
fRefMultNeg(refMultNeg),
+ fNMuons(nMuons),
+ fNDimuons(nDimuons),
fEventType(evttype),
fOrbitNumber(nOrbit),
fPeriodNumber(nPeriod),
fBunchCrossNumber(nBunchX),
- fTriggerCluster(trigClus)
+ fTriggerCluster(trigClus),
+ fDiamondZ(0.),
+ fDiamondSig2Z(0.),
+ fOfflineTrigger(0),
+ fESDFileName(""),
+ fEventNumberESDFile(-1),
+ fL0TriggerInputs(0),
+ fL1TriggerInputs(0),
+ fL2TriggerInputs(0),
+ fTPConlyRefMult(-1),
+ fCentralityP(0),
+ fEventplaneP(0)
{
// constructor
fDiamondCovXY[1]=0.;
for (Int_t m=0; m<kNPHOSMatrix; m++) fPHOSMatrix[m]=NULL;
for (Int_t sm=0; sm<kNEMCALMatrix; sm++) fEMCALMatrix[sm]=NULL;
+ for (Int_t i = 0; i < 6; i++) fITSClusters[i] = 0;
}
//______________________________________________________________________________
AliAODHeader::~AliAODHeader()
{
// destructor
-
+ delete fCentralityP;
+ delete fEventplaneP;
RemoveQTheta();
}
fMagneticField(hdr.fMagneticField),
fMuonMagFieldScale(hdr.fMuonMagFieldScale),
fCentrality(hdr.fCentrality),
+ fEventplane(hdr.fEventplane),
fZDCN1Energy(hdr.fZDCN1Energy),
fZDCP1Energy(hdr.fZDCP1Energy),
fZDCN2Energy(hdr.fZDCN2Energy),
fRefMult(hdr.fRefMult),
fRefMultPos(hdr.fRefMultPos),
fRefMultNeg(hdr.fRefMultNeg),
+ fNMuons(hdr.fNMuons),
+ fNDimuons(hdr.fNDimuons),
fEventType(hdr.fEventType),
fOrbitNumber(hdr.fOrbitNumber),
fPeriodNumber(hdr.fPeriodNumber),
fBunchCrossNumber(hdr.fBunchCrossNumber),
- fTriggerCluster(hdr.fTriggerCluster)
+ fTriggerCluster(hdr.fTriggerCluster),
+ fDiamondZ(hdr.fDiamondZ),
+ fDiamondSig2Z(hdr.fDiamondSig2Z),
+ fOfflineTrigger(hdr.fOfflineTrigger),
+ fESDFileName(hdr.fESDFileName),
+ fEventNumberESDFile(hdr.fEventNumberESDFile),
+ fL0TriggerInputs(hdr.fL0TriggerInputs),
+ fL1TriggerInputs(hdr.fL1TriggerInputs),
+ fL2TriggerInputs(hdr.fL2TriggerInputs),
+ fTPConlyRefMult(hdr.fTPConlyRefMult),
+ fCentralityP(new AliCentrality(*hdr.fCentralityP)),
+ fEventplaneP(new AliEventplane(*hdr.fEventplaneP))
{
// Copy constructor.
else
fEMCALMatrix[sm]=0;
}
-
+ for (Int_t i = 0; i < 6; i++) fITSClusters[i] = hdr.fITSClusters[i];
}
//______________________________________________________________________________
fMagneticField = hdr.fMagneticField;
fMuonMagFieldScale= hdr.fMuonMagFieldScale;
fCentrality = hdr.fCentrality;
+ fEventplane = hdr.fEventplane;
fZDCN1Energy = hdr.fZDCN1Energy;
fZDCP1Energy = hdr.fZDCP1Energy;
fZDCN2Energy = hdr.fZDCN2Energy;
fPeriodNumber = hdr.fPeriodNumber;
fBunchCrossNumber = hdr.fBunchCrossNumber;
fTriggerCluster = hdr.fTriggerCluster;
+ fNMuons = hdr.fNMuons;
+ fNDimuons = hdr.fNDimuons;
+ fDiamondZ = hdr.fDiamondZ;
+ fDiamondSig2Z = hdr.fDiamondSig2Z;
+ fOfflineTrigger = hdr.fOfflineTrigger;
+ fESDFileName = hdr.fESDFileName;
+ fEventNumberESDFile = hdr.fEventNumberESDFile;
+ fL0TriggerInputs = hdr.fL0TriggerInputs;
+ fL1TriggerInputs = hdr.fL1TriggerInputs;
+ fL2TriggerInputs = hdr.fL2TriggerInputs;
+ fTPConlyRefMult = hdr.fTPConlyRefMult;
+
+ if(hdr.fEventplaneP){
+ if(fEventplaneP)*fEventplaneP = *hdr.fEventplaneP;
+ else fEventplaneP = new AliEventplane(*hdr.fEventplaneP);
+ }
+
+ if(hdr.fCentralityP){
+ if(fCentralityP)*fCentralityP = *hdr.fCentralityP;
+ else fCentralityP = new AliCentrality(*hdr.fCentralityP);
+ }
SetName(hdr.fName);
SetTitle(hdr.fTitle);
for(Int_t i=0; i<3; i++) fDiamondCovXY[i]=hdr.fDiamondCovXY[i];
for(Int_t m=0; m<kNPHOSMatrix; m++){
- if(hdr.fPHOSMatrix[m])
- fPHOSMatrix[m]=new TGeoHMatrix(*(hdr.fPHOSMatrix[m])) ;
- else
- fPHOSMatrix[m]=0;
+ if(hdr.fPHOSMatrix[m]){
+ if(fPHOSMatrix[m])delete fPHOSMatrix[m];
+ fPHOSMatrix[m]=new TGeoHMatrix(*(hdr.fPHOSMatrix[m])) ;
+ }
+ else
+ fPHOSMatrix[m]=0;
}
for(Int_t sm=0; sm<kNEMCALMatrix; sm++){
- if(hdr.fEMCALMatrix[sm])
- fEMCALMatrix[sm]=new TGeoHMatrix(*(hdr.fEMCALMatrix[sm])) ;
- else
- fEMCALMatrix[sm]=0;
- }
-
+ if(hdr.fEMCALMatrix[sm]){
+ if(fEMCALMatrix[sm])delete fEMCALMatrix[sm];
+ fEMCALMatrix[sm]=new TGeoHMatrix(*(hdr.fEMCALMatrix[sm])) ;
+ }
+ else
+ fEMCALMatrix[sm]=0;
+ }
+
}
-
+ for (Int_t i = 0; i < 6; i++) fITSClusters[i] = hdr.fITSClusters[i];
return *this;
}
return;
}
+void AliAODHeader::Clear(Option_t* /*opt*/)
+{
+// Clear memory
+ RemoveQTheta();
+ if (fCentralityP){
+ delete fCentralityP;
+ fCentralityP = 0;
+ fCentrality = -999;
+ }
+ if (fEventplaneP){
+ delete fEventplaneP;
+ fEventplaneP = 0;
+ fEventplane = -999;
+ }
+ return;
+}
+
//______________________________________________________________________________
void AliAODHeader::Print(Option_t* /*option*/) const
{
printf("Muon mag. field scale : %f\n", fMuonMagFieldScale);
printf("Centrality : %f\n", fCentrality);
+ printf("Event plane : %f\n", fEventplane);
printf("ZDC N1 Energy : %f\n", fZDCN1Energy);
printf("ZDC P1 Energy : %f\n", fZDCP1Energy);
printf("ZDC N2 Energy : %f\n", fZDCN2Energy);
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++) {