CMS 3D CMS Logo

EcalTBTDCRecInfoAlgo Class Reference

#include <RecoTBCalo/EcalTBTDCReconstructor/interface/EcalTBTDCRecInfoAlgo.h>

List of all members.

Public Member Functions

 EcalTBTDCRecInfoAlgo (const std::vector< EcalTBTDCRanges > &tdcRanges)
 EcalTBTDCRecInfoAlgo ()
EcalTBTDCRecInfo reconstruct (const EcalTBTDCRawInfo &TDCRawInfo, const EcalTBEventHeader &eventHeader, bool use2004OffsetConvention) const
 ~EcalTBTDCRecInfoAlgo ()

Private Attributes

int actualRange_
int actualRun_
bool tdcRangeErrorMessageAlreadyDisplayed_
std::vector< EcalTBTDCRangestdcRanges_

Classes

struct  EcalTBTDCRanges


Detailed Description

Definition at line 11 of file EcalTBTDCRecInfoAlgo.h.


Constructor & Destructor Documentation

EcalTBTDCRecInfoAlgo::EcalTBTDCRecInfoAlgo (  )  [inline]

Definition at line 17 of file EcalTBTDCRecInfoAlgo.h.

EcalTBTDCRecInfoAlgo::EcalTBTDCRecInfoAlgo ( const std::vector< EcalTBTDCRanges > &  tdcRanges  )  [explicit]

Definition at line 7 of file EcalTBTDCRecInfoAlgo.cc.

00007                                                                                       :
00008   tdcRanges_(tdcRanges), tdcRangeErrorMessageAlreadyDisplayed_(false), actualRun_(-1) , actualRange_(-1)
00009 {
00010   
00011 }

EcalTBTDCRecInfoAlgo::~EcalTBTDCRecInfoAlgo (  )  [inline]

Definition at line 28 of file EcalTBTDCRecInfoAlgo.h.

00029     {
00030     };


Member Function Documentation

EcalTBTDCRecInfo EcalTBTDCRecInfoAlgo::reconstruct ( const EcalTBTDCRawInfo TDCRawInfo,
const EcalTBEventHeader eventHeader,
bool  use2004OffsetConvention 
) const

Definition at line 13 of file EcalTBTDCRecInfoAlgo.cc.

References actualRange_, actualRun_, GenMuonPlsPt100GeV_cfg::cout, EcalTBEventHeader::dbEventType(), lat::endl(), i, offset, EcalTBEventHeader::runNumber(), Ecal2006TBTDCRanges_v1_cff::tdcMax, Ecal2006TBTDCRanges_v1_cff::tdcMin, tdcRangeErrorMessageAlreadyDisplayed_, and tdcRanges_.

Referenced by EcalTBTDCRecInfoProducer::produce().

00014 {
00015   if (actualRun_ != eventHeader.runNumber() )
00016     {
00017       actualRun_ = eventHeader.runNumber();
00018       actualRange_ = -1;
00019       for (unsigned int i=0; i<tdcRanges_.size();i++)
00020         if ( eventHeader.runNumber() <= tdcRanges_[i].runRanges.second && eventHeader.runNumber() >= tdcRanges_[i].runRanges.first )
00021           actualRange_ = i;
00022       
00023       if (actualRange_ == -1)
00024         {
00025           edm::LogError("TDCRange not found") << "TDC range not found";
00026           return EcalTBTDCRecInfo(-1);
00027         }
00028     }
00029   
00030   int eventType;
00031   eventType=( (eventHeader.dbEventType() == 0) ? 0 : (eventHeader.dbEventType()-1));
00032 
00033   int tdcd = TDCRawInfo[0].tdcValue();
00034 
00035   if( !tdcRangeErrorMessageAlreadyDisplayed_ 
00036       && (tdcd < tdcRanges_[actualRange_].tdcMin[eventType] || tdcd > tdcRanges_[actualRange_].tdcMax[eventType]) ){
00037     std::cout << " ============================" <<std::endl;
00038     std::cout << " Event type: " << eventType << std::endl;
00039     std::cout << " TDC values not correctly set Raw TDC = "<< tdcd 
00040               << " (Min/Max = "<< tdcRanges_[actualRange_].tdcMin[eventType] << "/" << tdcRanges_[actualRange_].tdcMax[eventType]
00041               << std::endl;
00042     std::cout << " ============================" <<std::endl;
00043     tdcRangeErrorMessageAlreadyDisplayed_ = true;
00044   }
00045 
00046   double offset = ( (double)tdcd - (double)tdcRanges_[actualRange_].tdcMin[eventType] )
00047     / ((double)tdcRanges_[actualRange_].tdcMax[eventType]-(double)tdcRanges_[actualRange_].tdcMin[eventType]);
00048   if (use2004OffsetConvention)
00049     offset = (1. - offset) ;
00050   return EcalTBTDCRecInfo(offset); 
00051 }


Member Data Documentation

int EcalTBTDCRecInfoAlgo::actualRange_ [mutable, private]

Definition at line 39 of file EcalTBTDCRecInfoAlgo.h.

Referenced by reconstruct().

int EcalTBTDCRecInfoAlgo::actualRun_ [mutable, private]

Definition at line 38 of file EcalTBTDCRecInfoAlgo.h.

Referenced by reconstruct().

bool EcalTBTDCRecInfoAlgo::tdcRangeErrorMessageAlreadyDisplayed_ [mutable, private]

Definition at line 37 of file EcalTBTDCRecInfoAlgo.h.

Referenced by reconstruct().

std::vector<EcalTBTDCRanges> EcalTBTDCRecInfoAlgo::tdcRanges_ [private]

Definition at line 36 of file EcalTBTDCRecInfoAlgo.h.

Referenced by reconstruct().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:19:57 2009 for CMSSW by  doxygen 1.5.4