/*

rootcint -f CalibObjDict.cxx CalibObj.cxx LinkDef.h

CVS HEADER:

$Id$ 

*/

#ifndef CALBOBJ_H
#define CALBOBJ_H

#include "TObject.h"

class CalibObj: public TObject
{
public:

  float electronSCEnocorr_ ;    //not corrrcted
  float electronSCE_ ;          //corrected
  float electronSCEta_ ;
  float electronSCPhi_ ;
  int   electronSCNDigis_ ;     //number of crystals

  // Valid, Lost and Invalid number of hits
  int electronTRvhits_ ;
  int electronTRlhits_ ;
  int electronTRihits_ ;

  // sigma(1/p)
  float electronTRinvps_ ;

  //Chi quadro e gradi di libertą
  float electronTRChisq_ ;
  int   electronTRdegOfFreedom_ ;

  //Carica dell'elettrone
  int electronTRcharge_ ;
  //Transverse and Longitudinal impact parameter
  float electronTRtip_ ;
  float electronTRlip_ ;
 
  //Isolamento dell'elettrone
  int electronISiso_ ;
  float electronPXLlines_ ;
 
  // Impulso dello stato iniziale della traccia
  float electron_Tr_Px_ ;
  float electron_Tr_Py_ ;
  float electron_Tr_Pz_ ;

  // Impulso dello stato ad ECAL della traccia
  float electron_Tr_Out_Px_ ;
  float electron_Tr_Out_Py_ ;
  float electron_Tr_Out_Pz_ ;

  float electronHoE_ ; //H/E

  int electronTRstat_ ; //stat indi

  //il vettore con le energie nei cristalli
  // in una matrice 21 (phi) x 11 (eta) intorno al cristallo + energetico
  float myCalibrationMap[21][11] ;

  int centralCrystalIndex_ ;
  int centralCrystalEta_ ;
  int centralCrystalPhi_ ;
  
  //Informazioni montecarlo elettrone
  float electron_Tr_Mc_Px_ ;
  float electron_Tr_Mc_Py_ ;
  float electron_Tr_Mc_Pz_ ;

  int mc_charge_ ;
 
  float mc_rbrem_ ;    // raggio di prima brems
  float mc_ebrem_ ;    // quantitą di bremssttahlung totale
  float mc_ebremeff_ ; // quantitą di bremsstrahlung effettiva

public:

  CalibObj () {} 
  virtual ~CalibObj () {} 

  ClassDef (CalibObj,1) ;

} ;

#endif

#if !defined(__CINT__) 
ClassImp (CalibObj) ;
#endif

