1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
16 //-------------------------------------------------------------------------
17 // Implemenation Class AliESDTZERO
18 // This is a class that summarizes the TZERO data for the ESD
19 // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
20 //-------------------------------------------------------------------------
24 #include "AliESDTZERO.h"
30 //______________________________________________________________________________
31 AliESDTZERO::AliESDTZERO() :
44 for(int i = 0;i<24;i++) {
45 fT0time[i] = fT0amplitude[i] = 0;
46 for(Int_t iHit=0; iHit<5; iHit++) {
47 fTimeFull[i][iHit] = -9999;
48 if (i==0) fOrA[iHit] = -9999;
49 if (i==0)fOrC[iHit] = -9999;
50 if (i==0) fTVDC[iHit] = -9999;
53 for(Int_t iHit=0; iHit<6; iHit++) fPileupTime[iHit]= -9999;
54 for(int i = 0;i<3;i++) fT0TOF[i] = -9999;
56 //______________________________________________________________________________
57 AliESDTZERO::AliESDTZERO(const AliESDTZERO &tzero ) :
59 fT0clock(tzero.fT0clock),
60 fT0zVertex(tzero.fT0zVertex),
61 fT0timeStart(tzero.fT0timeStart),
62 fT0trig(tzero.fT0trig),
63 fPileup(tzero.fPileup),
64 fSattelite(tzero.fSattelite),
67 fBackground(tzero.fBackground)
70 for(int i = 0;i<3;i++) fT0TOF[i] = tzero.fT0TOF[i];
71 for(int iHit=0; iHit<6; iHit++) fPileupTime[iHit] = tzero.fPileupTime[iHit];
72 for(int i = 0;i<24;i++){
73 fT0time[i] = tzero.fT0time[i];
74 fT0amplitude[i] = tzero.fT0amplitude[i];
75 for(Int_t iHit=0; iHit<5; iHit++) {
76 fTimeFull[i][iHit] = tzero.fTimeFull[i][iHit];
77 if (i==0) fOrA[iHit] = tzero.fOrA[iHit];
78 if (i==0) fOrC[iHit] = tzero.fOrC[iHit];
79 if (i==0) fTVDC[iHit] = tzero.fTVDC[iHit];
83 //______________________________________________________________________________
84 AliESDTZERO& AliESDTZERO::operator=(const AliESDTZERO& tzero){
85 // assigmnent operator
87 TObject::operator=(tzero);
88 fT0clock = tzero.fT0clock;
89 fT0zVertex = tzero.fT0zVertex;
90 fT0timeStart = tzero.fT0timeStart;
91 fPileup = tzero.fPileup;
92 fSattelite = tzero.fSattelite;
93 fBackground = tzero.fBackground;
94 fMultC = tzero.fMultC;
95 fMultA = tzero.fMultA;
96 fT0trig = tzero.fT0trig;
97 for(int i = 0;i<3;i++) fT0TOF[i] = tzero.fT0TOF[i];
98 for(int iHit=0; iHit<6; iHit++) fPileupTime[iHit] = tzero.fPileupTime[iHit];
99 for(int i = 0;i<24;i++){
100 fT0time[i] = tzero.fT0time[i];
101 fT0amplitude[i] = tzero.fT0amplitude[i];
102 for(Int_t iHit=0; iHit<5; iHit++) {
103 fTimeFull[i][iHit] = tzero.fTimeFull[i][iHit];
104 if (i==0) fOrA[iHit] = tzero.fOrA[iHit];
105 if (i==0) fOrC[iHit] = tzero.fOrC[iHit];
106 if (i==0) fTVDC[iHit] = tzero.fTVDC[iHit];
112 //______________________________________________________________________________
113 void AliESDTZERO::Copy(TObject &obj) const {
115 // this overwrites the virtual TOBject::Copy()
116 // to allow run time copying without casting
119 if(this==&obj)return;
120 AliESDTZERO *robj = dynamic_cast<AliESDTZERO*>(&obj);
121 if(!robj)return; // not an AliESDTZERO
127 //______________________________________________________________________________
128 void AliESDTZERO::Reset()
134 for(int i = 0;i<24;i++) {
135 fT0time[i] = fT0amplitude[i] = 0;
136 for(Int_t iHit=0; iHit<5; iHit++) fTimeFull[i][iHit] = -9999;
138 for(Int_t iHit=0; iHit<5; iHit++) fOrA[iHit] = fOrC[iHit] = fTVDC[iHit] = -9999;
139 for(Int_t iHit=0; iHit<6; iHit++) fPileupTime[iHit]= -9999;
140 for(int i = 0;i<3;i++) fT0TOF[i] = -9999;
143 //______________________________________________________________________________
144 void AliESDTZERO::Print(const Option_t *) const
146 // does noting fornow
147 AliInfo(Form(" Vertex %f (T0A+T0C)/2 %f #channels T0signal %f ns OrA %f ns OrC %f \n",fT0zVertex, fT0timeStart, fT0TOF[0],fT0TOF[1],fT0TOF[2]));
150 for (Int_t i=0; i<5; i++) tr[i] = fT0trig & (1<<i);
151 AliInfo(Form("T0 triggers %d %d %d %d %d",tr[0],tr[1],tr[2],tr[3],tr[4]));