CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
EcalRecHitSimpleAlgo Class Reference

#include <EcalRecHitSimpleAlgo.h>

Inheritance diagram for EcalRecHitSimpleAlgo:
EcalRecHitAbsAlgo

Public Member Functions

 EcalRecHitSimpleAlgo ()
 
virtual EcalRecHit makeRecHit (const EcalUncalibratedRecHit &uncalibRH, const float &intercalibConstant, const float &timeIntercalib=0, const uint32_t &flags=0) const
 Compute parameters. More...
 
virtual void setADCToGeVConstant (const float &value)
 Constructor. More...
 
virtual ~EcalRecHitSimpleAlgo ()
 

Private Attributes

float adcToGeVConstant_
 
bool adcToGeVConstantIsSet_
 

Detailed Description

Simple algoritm to make rechits from uncalibrated rechits

Id:
EcalRecHitSimpleAlgo.h,v 1.13 2011/01/12 13:40:31 argiro Exp
Date:
2011/01/12 13:40:31
Revision:
1.13
Author
Shahram Rahatlou, University of Rome & INFN, March 2006

Simple algoritm to make rechits from uncalibrated rechits

Id:
EcalRecHitWorkerSimple.h,v 1.4 2009/06/05 13:39:58 ferriff Exp
Date:
2009/06/05 13:39:58
Revision:
1.4
Author
Shahram Rahatlou, University of Rome & INFN, March 2006

Definition at line 18 of file EcalRecHitSimpleAlgo.h.

Constructor & Destructor Documentation

EcalRecHitSimpleAlgo::EcalRecHitSimpleAlgo ( )
inline

Definition at line 21 of file EcalRecHitSimpleAlgo.h.

References adcToGeVConstant_, and adcToGeVConstantIsSet_.

21  {
22  adcToGeVConstant_ = -1;
23  adcToGeVConstantIsSet_ = false;
24  }
virtual EcalRecHitSimpleAlgo::~EcalRecHitSimpleAlgo ( )
inlinevirtual

Definition at line 33 of file EcalRecHitSimpleAlgo.h.

33 { };

Member Function Documentation

virtual EcalRecHit EcalRecHitSimpleAlgo::makeRecHit ( const EcalUncalibratedRecHit uncalibRH,
const float &  intercalibConstant,
const float &  timeIntercalib = 0,
const uint32_t &  flags = 0 
) const
inlinevirtual

Compute parameters.

Implements EcalRecHitAbsAlgo.

Definition at line 36 of file EcalRecHitSimpleAlgo.h.

References adcToGeVConstant_, adcToGeVConstantIsSet_, EcalUncalibratedRecHit::amplitude(), EcalUncalibratedRecHit::chi2(), gather_cfg::cout, relval_parameters_module::energy, EcalUncalibratedRecHit::id(), EcalUncalibratedRecHit::isSaturated(), EcalUncalibratedRecHit::jitter(), EcalUncalibratedRecHit::jitterErrorBits(), EcalRecHit::kGood, EcalUncalibratedRecHit::kLeadingEdgeRecovered, EcalRecHit::kLeadingEdgeRecovered, EcalUncalibratedRecHit::kOutOfTime, EcalRecHit::kOutOfTime, EcalUncalibratedRecHit::kPoorReco, EcalRecHit::kPoorReco, EcalUncalibratedRecHit::kSaturated, EcalRecHit::kSaturated, EcalUncalibratedRecHit::outOfTimeChi2(), EcalUncalibratedRecHit::outOfTimeEnergy(), EcalUncalibratedRecHit::recoFlag(), EcalRecHit::setChi2(), and cond::rpcobgas::time.

Referenced by EcalRecHitWorkerSimple::run().

39  {
40 
42  std::cout << "EcalRecHitSimpleAlgo::makeRecHit: adcToGeVConstant_ not set before calling this method!" <<
43  " will use -1 and produce bogus rechits!" << std::endl;
44  }
45 
46  float clockToNsConstant = 25;
47  float energy = uncalibRH.amplitude()*adcToGeVConstant_*intercalibConstant;
48  float time = uncalibRH.jitter() * clockToNsConstant + timeIntercalib;
49 
50  EcalRecHit rh( uncalibRH.id(), energy, time );
51  rh.setChi2( uncalibRH.chi2() );
52  rh.setOutOfTimeEnergy( uncalibRH.outOfTimeEnergy() * adcToGeVConstant_ * intercalibConstant );
53  rh.setOutOfTimeChi2( uncalibRH.outOfTimeChi2() );
54  rh.setTimeError(uncalibRH.jitterErrorBits());
55 
56  // Now fill flags
57 
58  bool good=true;
59 
62  good=false;
63  }
64  if ( uncalibRH.recoFlag() == EcalUncalibratedRecHit::kSaturated ) {
65  // leading edge recovery failed - still keep the information
66  // about the saturation and do not flag as dead
67  rh.setFlag(EcalRecHit::kSaturated);
68  good=false;
69  }
70  if( uncalibRH.isSaturated() ) {
71  rh.setFlag(EcalRecHit::kSaturated);
72  good=false;
73  }
74  if ( uncalibRH.recoFlag() == EcalUncalibratedRecHit::kOutOfTime ) {
75  rh.setFlag(EcalRecHit::kOutOfTime) ;
76  good=false;
77  }
78  if ( uncalibRH.recoFlag() == EcalUncalibratedRecHit::kPoorReco ) {
79  rh.setFlag(EcalRecHit::kPoorReco);
80  good=false;
81  }
82 
83  if (good) rh.setFlag(EcalRecHit::kGood);
84  return rh;
85  }
void setChi2(float chi2)
Definition: EcalRecHit.cc:52
tuple cout
Definition: gather_cfg.py:41
virtual void EcalRecHitSimpleAlgo::setADCToGeVConstant ( const float &  value)
inlinevirtual

Constructor.

Destructor make rechits from dataframes

Implements EcalRecHitAbsAlgo.

Definition at line 26 of file EcalRecHitSimpleAlgo.h.

References adcToGeVConstant_, adcToGeVConstantIsSet_, and relativeConstraints::value.

Referenced by EcalRecHitWorkerSimple::run().

Member Data Documentation

float EcalRecHitSimpleAlgo::adcToGeVConstant_
private

Definition at line 88 of file EcalRecHitSimpleAlgo.h.

Referenced by EcalRecHitSimpleAlgo(), makeRecHit(), and setADCToGeVConstant().

bool EcalRecHitSimpleAlgo::adcToGeVConstantIsSet_
private

Definition at line 89 of file EcalRecHitSimpleAlgo.h.

Referenced by EcalRecHitSimpleAlgo(), makeRecHit(), and setADCToGeVConstant().