class AliZDCReco : public TObject {
public:
- AliZDCReco() {}
- AliZDCReco(Float_t ezn, Float_t ezp, Float_t ezdc, Float_t ezem, Int_t detspn,
- Int_t detspp, 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 detspnLeft, Int_t detsppLeft, Int_t detspnRight, Int_t detsppRight,
+ Int_t trspnLeft, Int_t trsppLeft, Int_t trspLeft,
+ Int_t trspnRight, Int_t trsppRight, Int_t trspRight,
+ Int_t partLeft, Int_t partRight, Float_t b);
+
+ AliZDCReco(const AliZDCReco &oldreco);
virtual ~AliZDCReco() {}
// Getters
- virtual Float_t GetZNenergy() {return fZNenergy;}
- virtual Float_t GetZPenergy() {return fZPenergy;}
- virtual Float_t GetZDCenergy() {return fZDCenergy;}
- virtual Float_t GetZEMenergy() {return fZEMenergy;}
- virtual Int_t GetNDetSpecN() {return fNDetSpecN;}
- virtual Int_t GetNDetSpecP() {return fNDetSpecP;}
- virtual Int_t GetNTrueSpecN() {return fNTrueSpecN;}
- virtual Int_t GetNTrueSpecP() {return fNTrueSpecP;}
- virtual Int_t GetNTrueSpec() {return fNTrueSpec;}
- virtual Int_t GetNPart() {return fNPart;}
- virtual Float_t GetImpPar() {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 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 GetNTrueSpecNLeft() const {return fNTrueSpecNLeft;}
+ virtual Int_t GetNTrueSpecPLeft() const {return fNTrueSpecPLeft;}
+ virtual Int_t GetNTrueSpecLeft() const {return fNTrueSpecLeft;}
+ virtual Int_t GetNTrueSpecNRight() const {return fNTrueSpecNRight;}
+ virtual Int_t GetNTrueSpecPRight() const {return fNTrueSpecPRight;}
+ virtual Int_t GetNTrueSpecRight() const {return fNTrueSpecRight;}
+ virtual Int_t GetNPartLeft() const {return fNPartLeft;}
+ virtual Int_t GetNPartRight() const {return fNPartRight;}
+ virtual Float_t GetImpPar() const {return fImpPar;}
+
+ // Print method
+ virtual void Print(Option_t *) const;
+private:
// Data members
- Float_t fZNenergy; // Energy detected in neutron ZDC
- Float_t fZPenergy; // Energy detected in proton ZDC
- Float_t fZDCenergy; // Total hadronic energy detcted in ZDCs
- Float_t fZEMenergy; // Energy detected in EM ZDC
- Int_t fNDetSpecN; // Number of spectator neutrons detected
- Int_t fNDetSpecP; // 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 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 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 fNTrueSpecNLeft; // Estimate of the number of spectator neutrons generated
+ Int_t fNTrueSpecPLeft; // Estimate of the number of spectator protons generated
+ Int_t fNTrueSpecLeft; // Estimate of the total number of spectators
+ Int_t fNTrueSpecNRight;// Estimate of the number of spectator neutrons generated
+ Int_t fNTrueSpecPRight;// Estimate of the number of spectator protons generated
+ Int_t fNTrueSpecRight; // Estimate of the total number of spectators
+ Int_t fNPartLeft; // Estimate of the number of participants for 1 nucleus
+ Int_t fNPartRight; // Estimate of the number of participants for 1 nucleus
Float_t fImpPar; // Estimate of the impact parameter
- // Print method
- virtual void Print(Option_t *) const {
- printf(" --- Reconstruction -> EZN = %f TeV, EZP = %f TeV, EZDC = %f TeV,"
- " EZEM = %f GeV \n NDetSpecN = %d, NDetSpecP = %d, Nspecn = %d,"
- " Nspecp = %d, Npart = %d, b = %f fm.\n ",
- fZNenergy,fZPenergy,fZDCenergy,fZEMenergy,fNDetSpecN,fNDetSpecP,
- fNTrueSpecN,fNTrueSpecP,fNPart,fImpPar);
- }
-
- ClassDef(AliZDCReco,1) // RecPoints for the Zero Degree Calorimeters
+
+ ClassDef(AliZDCReco,5) // RecPoints for the Zero Degree Calorimeters
};
#endif