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