CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
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> >
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 }
int i
Definition: DBlmapReader.cc:9
const double xbins[]
std::vector< std::pair< double, double > > thetaBins()
Definition: thetaBins.cc:49
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
const int xbins_n