Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
Fireworks
Calo
src
thetaBins.cc
Go to the documentation of this file.
1
// -*- C++ -*-
2
//
3
// Package: Calo
4
// Class : thetaBins
5
//
6
// Implementation:
7
// <Notes on implementation>
8
//
9
// Original Author: Chris Jones
10
// Created: Thu Dec 11 22:59:38 EST 2008
11
// $Id: thetaBins.cc,v 1.3 2009/01/23 21:35:40 amraktad Exp $
12
//
13
14
// system include files
15
#include <
math.h
>
16
17
// user include files
18
#include "
Fireworks/Calo/interface/thetaBins.h
"
19
#include "
Fireworks/Core/interface/fw3dlego_xbins.h
"
20
21
22
// NOTE:
23
// Here we assume 72 bins in phi. At high eta we have only 36 and at the
24
// very end 18 bins. These large bins are splited among smaller bins
25
// decreasing energy in each entry by factor of 2 and 4 for 36 and 18 bin
26
// cases. Other options will be implemented later
27
//
28
// http://ecal-od-software.web.cern.ch/ecal-od-software/documents/documents/cal_newedm_roadmap_v1_0.pdf
29
// Eta mapping:
30
// ieta - [-41,-1]+[1,41] - total 82 bins
31
// calo tower gives eta of the ceneter of each bin
32
// size:
33
// 0.087 - [-20,-1]+[1,20]
34
// the rest have variable size from 0.09-0.30
35
// Phi mapping:
36
// iphi - [1-72]
37
// calo tower gives phi of the center of each bin
38
// for |ieta|<=20 phi bins are all of the same size
39
// iphi 36-37 transition corresponds to 3.1 -> -3.1 transition
40
// for 20 < |ieta| < 40
41
// there are only 36 active bins corresponding to odd numbers
42
// iphi 35->37, corresponds to 3.05 -> -3.05 transition
43
// for |ieta| >= 40
44
// there are only 18 active bins 3,7,11,15 etc
45
// iphi 31 -> 35, corresponds to 2.79253 -> -3.14159 transition
46
47
namespace
fireworks {
48
std::vector<std::pair<double,double> >
49
thetaBins
()
50
{
51
const
int
n_bins =
fw3dlego::xbins_n
- 1;
52
std::vector<std::pair<double,double> >
thetaBins
(n_bins);
53
for
(
int
i
= 0;
i
< n_bins; ++
i
)
54
{
55
thetaBins[
i
].first = 2*atan(
exp
(-
fw3dlego::xbins
[
i
]) );
56
thetaBins[
i
].second = 2*atan(
exp
(-
fw3dlego::xbins
[i+1]) );
57
}
58
return
thetaBins
;
59
}
60
}
math.h
i
int i
Definition:
DBlmapReader.cc:9
fw3dlego_xbins.h
thetaBins.h
fw3dlego::xbins
const double xbins[]
Definition:
fw3dlego_xbins.cc:18
fireworks::thetaBins
std::vector< std::pair< double, double > > thetaBins()
Definition:
thetaBins.cc:49
funct::exp
Exp< T >::type exp(const T &t)
Definition:
Exp.h:22
fw3dlego::xbins_n
const int xbins_n
Definition:
fw3dlego_xbins.cc:17
Generated for CMSSW Reference Manual by
1.8.5