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
L1Analysis::L1AnalysisCaloTP Class Reference

#include <L1AnalysisCaloTP.h>

Public Member Functions

L1AnalysisCaloTPDataFormatgetData ()
 
 L1AnalysisCaloTP ()
 
 L1AnalysisCaloTP (bool verbose)
 
void Reset ()
 
void SetECAL (const EcalTrigPrimDigiCollection &ecalTPs)
 
void setEcalScale (const L1CaloEcalScale *ecalScale)
 
void SetHCAL (const HcalTrigPrimDigiCollection &hcalTPs)
 
void setHcalScale (const L1CaloHcalScale *hcalScale)
 
 ~L1AnalysisCaloTP ()
 

Private Attributes

const L1CaloEcalScaleecalScale_
 
const L1CaloHcalScalehcalScale_
 
L1AnalysisCaloTPDataFormat tp_
 
bool verbose_
 

Detailed Description

Definition at line 24 of file L1AnalysisCaloTP.h.

Constructor & Destructor Documentation

L1Analysis::L1AnalysisCaloTP::L1AnalysisCaloTP ( )

Definition at line 8 of file L1AnalysisCaloTP.cc.

8  :verbose_(false)
9 {
10 }
L1Analysis::L1AnalysisCaloTP::L1AnalysisCaloTP ( bool  verbose)

Definition at line 12 of file L1AnalysisCaloTP.cc.

References verbose.

13 {
14  verbose_ = verbose;
15 }
bool verbose
L1Analysis::L1AnalysisCaloTP::~L1AnalysisCaloTP ( )

Definition at line 17 of file L1AnalysisCaloTP.cc.

18 {
19 
20 }

Member Function Documentation

L1AnalysisCaloTPDataFormat* L1Analysis::L1AnalysisCaloTP::getData ( void  )
inline

Definition at line 49 of file L1AnalysisCaloTP.h.

References tp_.

49 {return &tp_;}
L1AnalysisCaloTPDataFormat tp_
void L1Analysis::L1AnalysisCaloTP::Reset ( void  )
inline
void L1Analysis::L1AnalysisCaloTP::SetECAL ( const EcalTrigPrimDigiCollection ecalTPs)

Definition at line 56 of file L1AnalysisCaloTP.cc.

References funct::abs(), i, edm::SortedCollection< T, SORT >::push_back(), jetcorrextractor::sign(), and edm::SortedCollection< T, SORT >::size().

56  {
57 
58  if (verbose_) edm::LogInfo("L1Ntuple") << "ECAL TPs : " << ecalTPs.size() << std::endl;
59 
60  for (unsigned i=0; i<ecalTPs.size(); ++i) {
61 
62  short ieta = (short) ecalTPs[i].id().ieta();
63  unsigned short absIeta = (unsigned short) abs(ieta);
64  short sign = ieta/absIeta;
65 
66  unsigned short cal_iphi = (unsigned short) ecalTPs[i].id().iphi();
67  unsigned short iphi = (72 + 18 - cal_iphi) % 72; // transform TOWERS (not regions) into local rct (intuitive) phi bins
68 
69  unsigned short compEt = ecalTPs[i].compressedEt();
70  double et = 0.;
71  if (ecalScale_!=0) et = ecalScale_->et( compEt, absIeta, sign );
72 
73  unsigned short fineGrain = (unsigned short) ecalTPs[i].fineGrain(); // 0 or 1
74 
75  tp_.ecalTPieta.push_back( ieta );
76  tp_.ecalTPCaliphi.push_back( cal_iphi );
77  tp_.ecalTPiphi.push_back( iphi );
78  tp_.ecalTPet.push_back( et );
79  tp_.ecalTPcompEt.push_back( compEt );
80  tp_.ecalTPfineGrain.push_back( fineGrain );
81  tp_.nECALTP++;
82 
83  }
84 
85 
86 }
int i
Definition: DBlmapReader.cc:9
double sign(double x)
L1AnalysisCaloTPDataFormat tp_
double et(unsigned short rank, unsigned short eta, short etaSign) const
convert from rank to physically meaningful quantity
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const L1CaloEcalScale * ecalScale_
size_type size() const
void L1Analysis::L1AnalysisCaloTP::setEcalScale ( const L1CaloEcalScale ecalScale)
inline

Definition at line 32 of file L1AnalysisCaloTP.h.

References ecalScale_.

32  {
33  edm::LogInfo("L1NTUPLE") << "Setting ECAL TP scale " << ecalScale << std::endl;
34  ecalScale_ = ecalScale;
35  }
const L1CaloEcalScale * ecalScale_
void L1Analysis::L1AnalysisCaloTP::SetHCAL ( const HcalTrigPrimDigiCollection hcalTPs)

Definition at line 22 of file L1AnalysisCaloTP.cc.

References funct::abs(), i, edm::SortedCollection< T, SORT >::push_back(), jetcorrextractor::sign(), and edm::SortedCollection< T, SORT >::size().

22  {
23 
24  if (verbose_) edm::LogInfo("L1Ntuple") << "HCAL TPs : " << hcalTPs.size() << std::endl;
25 
26  for (unsigned i=0; i<hcalTPs.size(); ++i) {
27 
28  short ieta = (short) hcalTPs[i].id().ieta();
29  unsigned short absIeta = (unsigned short) abs(ieta);
30  short sign = ieta/absIeta;
31 
32  unsigned short cal_iphi = (unsigned short) hcalTPs[i].id().iphi();
33  unsigned short iphi = (72 + 18 - cal_iphi) % 72;
34  if (absIeta >= 29) { // special treatment for HF
35  iphi = iphi/4;
36  }
37 
38  unsigned short compEt = hcalTPs[i].SOI_compressedEt();
39  double et = 0.;
40  if (hcalScale_!=0) et = hcalScale_->et( compEt, absIeta, sign );
41 
42  unsigned short fineGrain = (unsigned short) hcalTPs[i].SOI_fineGrain();
43 
44  tp_.hcalTPieta.push_back( ieta );
45  tp_.hcalTPCaliphi.push_back( cal_iphi );
46  tp_.hcalTPiphi.push_back( iphi );
47  tp_.hcalTPet.push_back( et );
48  tp_.hcalTPcompEt.push_back( compEt );
49  tp_.hcalTPfineGrain.push_back( fineGrain );
50  tp_.nHCALTP++;
51 
52  }
53 
54 }
int i
Definition: DBlmapReader.cc:9
double sign(double x)
L1AnalysisCaloTPDataFormat tp_
const L1CaloHcalScale * hcalScale_
double et(unsigned short rank, unsigned short eta, short etaSign) const
convert from rank to physically meaningful quantity
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
size_type size() const
void L1Analysis::L1AnalysisCaloTP::setHcalScale ( const L1CaloHcalScale hcalScale)
inline

Definition at line 37 of file L1AnalysisCaloTP.h.

References hcalScale_.

37  {
38  edm::LogInfo("L1NTUPLE") << "Setting HCAL TP scale " << hcalScale << std::endl;
39  hcalScale_ = hcalScale;
40  }
const L1CaloHcalScale * hcalScale_

Member Data Documentation

const L1CaloEcalScale* L1Analysis::L1AnalysisCaloTP::ecalScale_
private

Definition at line 55 of file L1AnalysisCaloTP.h.

Referenced by setEcalScale().

const L1CaloHcalScale* L1Analysis::L1AnalysisCaloTP::hcalScale_
private

Definition at line 56 of file L1AnalysisCaloTP.h.

Referenced by setHcalScale().

L1AnalysisCaloTPDataFormat L1Analysis::L1AnalysisCaloTP::tp_
private

Definition at line 53 of file L1AnalysisCaloTP.h.

Referenced by getData(), and Reset().

bool L1Analysis::L1AnalysisCaloTP::verbose_
private

Definition at line 52 of file L1AnalysisCaloTP.h.