| 38 | Int_t ntr;       ///< the same as "ncyl" but with radius 4 strips | Int_t ntr;       ///< the same as "ncyl" but with radius 4 strips | 
| 39 | Int_t planetot;  ///< number of planes used to calculate the energy truncated mean "qmean" | Int_t planetot;  ///< number of planes used to calculate the energy truncated mean "qmean" | 
| 40 | Int_t nlow;      ///< the same as "nstrip" but only after the calculated electromagnetic shower maximum | Int_t nlow;      ///< the same as "nstrip" but only after the calculated electromagnetic shower maximum | 
| 41 | Int_t tibar[22][2];  ///< strip traversed by the trajectory as measured by the tracker | Int_t tibar[22][2];  ///< strip traversed by the trajectory as measured by the tracker or by the selftrigger when trkseqno = -1 | 
| 42 | Float_t tbar[22][2]; ///< position in cm as measured by the tracker | Float_t tbar[22][2]; ///< position in cm as measured by the tracker or by the selftrigger when trkseqno = -1 | 
| 43 | Float_t qcore;   ///< SUM(j=1,2)SUM(i=1,PLmax) Qhit(i,j)*i , where Qhit(i,j) is the energy released (MIP) in a cylinder of radius 2 Rm (Moliere radius) around the track in the i-th plane (where the top plane is number 1 and the sum runs up to plane number PLmax, closest to the calculated electromagnetic shower maximum of the j-th view). | Float_t qcore;   ///< SUM(j=1,2)SUM(i=1,PLmax) Qhit(i,j)*i , where Qhit(i,j) is the energy released (MIP) in a cylinder of radius 2 Rm (Moliere radius) around the track in the i-th plane (where the top plane is number 1 and the sum runs up to plane number PLmax, closest to the calculated electromagnetic shower maximum of the j-th view). | 
| 44 | Float_t qcyl;    ///< the measured energy deposited in a cylinder of radius 8 strips around the shower axis | Float_t qcyl;    ///< the measured energy deposited in a cylinder of radius 8 strips around the shower axis | 
| 45 | Float_t qlast;   ///< the same as "qcyl" but only for the last four planes and radius 4 strips. | Float_t qlast;   ///< the same as "qcyl" but only for the last four planes and radius 4 strips. | 
| 100 | // | // | 
| 101 | // Fit variables | // Fit variables | 
| 102 | // | // | 
| 103 | Int_t npcfit[2];     ///< number of point used to perform the fit for the two views | Int_t npcfit[4];     ///< number of point used to perform the fit for the two views (0,1 calo fit, 2,3 selftrigger fit if any) | 
| 104 | Int_t cibar[22][2];  ///< strip traversed by the trajectory as measured by the calorimeter | Float_t varcfit[4];  ///< variance of the calorimeter fit for the two views (0,1 calo fit, 2,3 selftrigger fit if any) | 
| 105 | Float_t cbar[22][2]; ///< position in cm as measured by the calorimeter | Float_t tanx[2];     ///< the tangent of the angle in the x direction as determined by the track fitted in the calorimeter (0 calo fit, 1 selftrigger fit) | 
| 106 | Float_t impx;        ///< the x impact position on the first plane as determined by the track fitted in the calorimeter | Float_t tany[2];     ///< the tangent of the angle in the x direction as determined by the track fitted in the calorimeter (0 calo fit, 1 selftrigger fit) | 
| 107 | Float_t impy;        ///< the y impact position on the first plane as determined by the track fitted in the calorimeter | Int_t fitmode[2];    ///< for x and y is 0 if the fit was performed with the "electron" algorithm, is 1 if the fit was performed with the "nuclei" algorithm | 
| 108 | Float_t tanx;        ///< the tangent of the angle in the x direction as determined by the track fitted in the calorimeter | Int_t cibar[22][2];  ///< strip traversed by the trajectory as measured by the calorimeter (calo fit) | 
| 109 | Float_t tany;        ///< the tangent of the angle in the x direction as determined by the track fitted in the calorimeter | Float_t cbar[22][2]; ///< position in cm as measured by the calorimeter (calo fit) | 
|  | Float_t varcfit[2];  ///< variance of the calorimeter fit for the two views |  | 
| 110 | // | // | 
| 111 | // Energy variables | // Energy variables | 
| 112 | // | // | 
| 115 | // | // | 
| 116 | // track related variables: inline methods | // track related variables: inline methods | 
| 117 | // | // | 
| 118 | Int_t ntrk()                                       {return CaloTrk->GetEntries();};  ///< number of saved blocks of track-related variables | Int_t ntrk(){return CaloTrk->GetEntries();};  ///< number of saved blocks of track-related variables | 
| 119 | // | // | 
| 120 | // METHODS | // METHODS | 
| 121 | // | // | 
| 122 |  | Float_t impx(Int_t tr);        ///< the x impact position on the first plane as determined by the track fitted in the calorimeter ( tr = 0 calo fit, tr = 1 selftrigger fit) | 
| 123 |  | Float_t impy(Int_t tr);        ///< the y impact position on the first plane as determined by the track fitted in the calorimeter ( tr = 0 calo fit, tr = 1 selftrigger fit) | 
| 124 |  |  | 
| 125 |  | // | 
| 126 | void GetElectronEnergy(Float_t &energy, Float_t &sigma); ///< returns energy and sigma using qtot and assuming the particle being an electron | void GetElectronEnergy(Float_t &energy, Float_t &sigma); ///< returns energy and sigma using qtot and assuming the particle being an electron | 
| 127 | // | // | 
| 128 | CaloTrkVar *GetCaloTrkVar(Int_t notrack);  ///< returns a pointer to the CaloTrkVar class containing track related variables for track number notrack | CaloTrkVar *GetCaloTrkVar(Int_t notrack);  ///< returns a pointer to the CaloTrkVar class containing track related variables for track number notrack | 
| 129 |  | CaloTrkVar* GetCaloStoredTrack(Int_t seqno); ///< returns pointer to the track set related to the seqno number | 
| 130 | // | // | 
| 131 | TClonesArray *GetTrackArray(){return CaloTrk;}; ///< returns a pointer to the track related variables array | TClonesArray *GetTrackArray(){return CaloTrk;}; ///< returns a pointer to the track related variables array | 
| 132 | CaloLevel2* GetCaloLevel2(){return this;}; ///< returns pointer to this object | CaloLevel2* GetCaloLevel2(){return this;}; ///< returns pointer to this object | 
| 134 | void GetLevel2Struct(cCaloLevel2 *l2) const; | void GetLevel2Struct(cCaloLevel2 *l2) const; | 
| 135 | // | // | 
| 136 | void Clear(); | void Clear(); | 
| 137 |  | void Delete(); //ELENA | 
| 138 |  | void Set(); //ELENA | 
| 139 | // | // | 
| 140 | // constructor | // constructor | 
| 141 | // | // | 
| 142 | CaloLevel2(); ///< Constructor. | CaloLevel2(); ///< Constructor. | 
| 143 |  | ~CaloLevel2(){Delete();}; //ELENA | 
| 144 | // | // | 
| 145 | friend class CaloProcessing; | friend class CaloLevel0; | 
| 146 | // | // | 
| 147 | ClassDef(CaloLevel2,3); | ClassDef(CaloLevel2,4); | 
| 148 | }; | }; | 
| 149 |  |  | 
| 150 | #endif | #endif |