class AliZDCReco : public TObject {
public:
- AliZDCReco() {}
- AliZDCReco(Float_t ezn1, Float_t ezp1, Float_t ezdc1, Float_t ezem,
- Float_t ezn2, Float_t ezp2, Float_t ezdc2, Int_t detspnLeft,
- Int_t detsppLeft, Int_t detspnRight, Int_t detsppRight,
- Int_t trspn, Int_t trspp, Int_t trsp, Int_t part, Float_t b);
- AliZDCReco(AliZDCReco* oldreco) {*this=*oldreco;}
+ AliZDCReco();
+ AliZDCReco(Float_t* ezn1, Float_t* ezp1, Float_t* ezn2, Float_t* ezp2,
+ Float_t* ezn1tow, Float_t* ezp1tow, Float_t* ezn2tow, Float_t* ezp2tow,
+ Float_t* ezem1, Float_t* ezem2, Float_t* ref1, Float_t* ref2,
+ //
+ Int_t detspnSideA, Int_t detsppSideA,
+ Int_t detspnSideC, Int_t detsppSideC,
+ Int_t trsp, Int_t trspSideA, Int_t trspSideC,
+ Int_t npart, Int_t npartSideA, Int_t npartSideC,
+ Float_t b, Float_t bSideA, Float_t bSideC,
+ UInt_t recoFlag, Bool_t energyFlag, Bool_t scalerOn,
+ UInt_t* scaler, Int_t tdcData[32][4]);
+
+ AliZDCReco(const AliZDCReco &oldreco);
+ AliZDCReco& operator= (const AliZDCReco &reco);
virtual ~AliZDCReco() {}
// Getters
- virtual Float_t GetZN1energy() const {return fZN1energy;}
- virtual Float_t GetZP1energy() const {return fZP1energy;}
- virtual Float_t GetZDC1energy() const {return fZDC1energy;}
- virtual Float_t GetZN2energy() const {return fZN2energy;}
- virtual Float_t GetZP2energy() const {return fZP2energy;}
- virtual Float_t GetZDC2energy() const {return fZDC2energy;}
- virtual Float_t GetZEMenergy() const {return fZEMenergy;}
- virtual Int_t GetNDetSpecNLeft() const {return fNDetSpecNLeft;}
- virtual Int_t GetNDetSpecPLeft() const {return fNDetSpecPLeft;}
- virtual Int_t GetNDetSpecNRight() const {return fNDetSpecNRight;}
- virtual Int_t GetNDetSpecPRight() const {return fNDetSpecPRight;}
- virtual Int_t GetNTrueSpecN() const {return fNTrueSpecN;}
- virtual Int_t GetNTrueSpecP() const {return fNTrueSpecP;}
- virtual Int_t GetNTrueSpec() const {return fNTrueSpec;}
- virtual Int_t GetNPart() const {return fNPart;}
- virtual Float_t GetImpPar() const {return fImpPar;}
+ virtual Float_t GetZN1HREnergy() const {return fZN1Energy[0];}
+ virtual Float_t GetZP1HREnergy() const {return fZP1Energy[0];}
+ virtual Float_t GetZN2HREnergy() const {return fZN2Energy[0];}
+ virtual Float_t GetZP2HREnergy() const {return fZP2Energy[0];}
+ //
+ virtual Float_t GetZN1LREnergy() const {return fZN1Energy[1];}
+ virtual Float_t GetZP1LREnergy() const {return fZP1Energy[1];}
+ virtual Float_t GetZN2LREnergy() const {return fZN2Energy[1];}
+ virtual Float_t GetZP2LREnergy() const {return fZP2Energy[1];}
+ //
+ virtual Float_t GetZN1HREnTow(Int_t tow) const {return fZN1EnTow[tow];}
+ virtual Float_t GetZP1HREnTow(Int_t tow) const {return fZP1EnTow[tow];}
+ virtual Float_t GetZN2HREnTow(Int_t tow) const {return fZN2EnTow[tow];}
+ virtual Float_t GetZP2HREnTow(Int_t tow) const {return fZP2EnTow[tow];}
+ //
+ virtual Float_t GetZN1LREnTow(Int_t tow) const {return fZN1EnTow[tow+5];}
+ virtual Float_t GetZP1LREnTow(Int_t tow) const {return fZP1EnTow[tow+5];}
+ virtual Float_t GetZN2LREnTow(Int_t tow) const {return fZN2EnTow[tow+5];}
+ virtual Float_t GetZP2LREnTow(Int_t tow) const {return fZP2EnTow[tow+5];}
+ //
+ virtual Float_t GetZEM1HRsignal() const {return fZEM1signal[0];}
+ virtual Float_t GetZEM1LRsignal() const {return fZEM1signal[1];}
+ virtual Float_t GetZEM2HRsignal() const {return fZEM2signal[0];}
+ virtual Float_t GetZEM2LRsignal() const {return fZEM2signal[1];}
+ //
+ virtual Float_t GetPMRef1HRsignal() const {return fZEM1signal[0];}
+ virtual Float_t GetPMRef1LRsignal() const {return fZEM1signal[1];}
+ virtual Float_t GetPMRef2HRsignal() const {return fZEM2signal[0];}
+ virtual Float_t GetPMRef2LRsignal() const {return fZEM2signal[1];}
+ //
+ virtual Int_t GetNDetSpecNSideA() const {return fNDetSpecNSideA;}
+ virtual Int_t GetNDetSpecPSideA() const {return fNDetSpecPSideA;}
+ virtual Int_t GetNDetSpecNSideC() const {return fNDetSpecNSideC;}
+ virtual Int_t GetNDetSpecPSideC() const {return fNDetSpecPSideC;}
+ virtual Int_t GetNTrueSpectators() const {return fNTrueSpectators;}
+ virtual Int_t GetNTrueSpecSideA() const {return fNTrueSpecSideA;}
+ virtual Int_t GetNTrueSpecSideC() const {return fNTrueSpecSideC;}
+ virtual Int_t GetNParticipants() const {return fNParticipants;}
+ virtual Int_t GetNPartSideA() const {return fNPartSideA;}
+ virtual Int_t GetNPartSideC() const {return fNPartSideC;}
+ virtual Float_t GetImpParameter() const {return fImpParameter;}
+ virtual Float_t GetImpParSideA() const {return fImpParSideA;}
+ virtual Float_t GetImpParSideC() const {return fImpParSideC;}
+ //
+ virtual UInt_t GetRecoFlag() const {return fRecoFlag;}
+ virtual UInt_t GetZDCPattern() const {return (fRecoFlag & 0x0000003f);}
+ virtual UInt_t GetChOnFlag() const {return (fRecoFlag & 0x00000100);}
+ virtual UInt_t GetChOvflwFlag() const {return (fRecoFlag & 0x00000200);}
+ virtual UInt_t GetChUndflwFlag() const {return (fRecoFlag & 0x00000400);}
+ //
+ virtual Bool_t GetEnergyFlag() const {return fEnergyFlag;}
+ virtual Bool_t IsScalerOn() const {return fIsScalerOn;}
+ virtual UInt_t GetZDCScaler(Int_t k) const {return fZDCScaler[k];}
+ //
+ virtual Int_t GetZDCTDCData(Int_t j, Int_t k) const {return fZDCTDCData[j][k];}
// Print method
virtual void Print(Option_t *) const;
private:
// Data members
- Float_t fZN1energy; // Energy detected in neutron ZDC
- Float_t fZP1energy; // Energy detected in proton ZDC
- Float_t fZDC1energy; // Total hadronic energy detcted in ZDCs
- Float_t fZN2energy; // Energy detected in neutron ZDC
- Float_t fZP2energy; // Energy detected in proton ZDC
- Float_t fZDC2energy; // Total hadronic energy detcted in ZDCs
- Float_t fZEMenergy; // Energy detected in EM ZDC
- Int_t fNDetSpecNLeft; // Number of spectator neutrons detected
- Int_t fNDetSpecPLeft; // Number of spectator protons detected
- Int_t fNDetSpecNRight; // Number of spectator neutrons detected
- Int_t fNDetSpecPRight; // Number of spectator protons detected
- Int_t fNTrueSpecN; // Estimate of the number of spectator neutrons generated
- Int_t fNTrueSpecP; // Estimate of the number of spectator protons generated
- Int_t fNTrueSpec ; // Estimate of the total number of spectators
- Int_t fNPart; // Estimate of the number of participants for 1 nucleus
- Float_t fImpPar; // Estimate of the impact parameter
-
+ Float_t fZN1Energy[2]; // Energy detected in ZN1 (sum of 5 tower signals)
+ Float_t fZP1Energy[2]; // Energy detected in ZP1 (sum of 5 tower signals)
+ Float_t fZN2Energy[2]; // Energy detected in ZN2 (sum of 5 tower signals)
+ Float_t fZP2Energy[2]; // Energy detected in ZP2 (sum of 5 tower signals)
+ //
+ Float_t fZN1EnTow[10]; // Energy in ZN1 towers
+ Float_t fZP1EnTow[10]; // Energy in ZP1 towers
+ Float_t fZN2EnTow[10]; // Energy in ZN2 towers
+ Float_t fZP2EnTow[10]; // Energy in ZP2 towers
+ //
+ Float_t fZEM1signal[2];// Signal in EM1 ZDC
+ Float_t fZEM2signal[2];// Signal in EM2 ZDC
+ //
+ Float_t fPMRef1[2]; // Reference PM side C
+ Float_t fPMRef2[2]; // Reference PM side A
+ //
+ Int_t fNDetSpecNSideA; // Number of spectator neutrons detected
+ Int_t fNDetSpecPSideA; // Number of spectator protons detected
+ Int_t fNDetSpecNSideC; // Number of spectator neutrons detected
+ Int_t fNDetSpecPSideC; // Number of spectator protons detected
+ Int_t fNTrueSpectators;// Estimate of the total number of spectators
+ Int_t fNTrueSpecSideA; // Estimate of the number of spectators side A
+ Int_t fNTrueSpecSideC; // Estimate of the number of spectators side C
+ Int_t fNParticipants; // Estimate of the total number of participants
+ Int_t fNPartSideA; // Estimate of the number of participants side A
+ Int_t fNPartSideC; // Estimate of the number of participants side C
+ Float_t fImpParameter; // Estimate of the impact parameter
+ Float_t fImpParSideA; // Estimate of the impact parameter side A
+ Float_t fImpParSideC; // Estimate of the impact parameter side B
+ //
+ UInt_t fRecoFlag; // Reconstruction flag
+ Bool_t fEnergyFlag; // Is the reco value in energy?
+ Bool_t fIsScalerOn; // True if scaler has been read in the event
+ UInt_t fZDCScaler[32]; // Counts from ZDC VME scaler
+ //
+ Int_t fZDCTDCData[32][4]; // TDC data raw
- ClassDef(AliZDCReco,1) // RecPoints for the Zero Degree Calorimeters
+ ClassDef(AliZDCReco,14) // RecPoints for the Zero Degree Calorimeters
};
#endif