CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
TB06Tree Class Reference

#include <TB06Tree.h>

Public Member Functions

void check ()
 
void reset (float crystal[11][21])
 
void store (const int &tableIsMoving, const int &run, const int &event, const int &S6adc, const double &xhodo, const double &yhodo, const double &xslope, const double &yslope, const double &xquality, const double &yquality, const int &icMax, const int &ietaMax, const int &iphiMax, const double &beamEnergy, const double ampl[49])
 to be called at each loop More...
 
 TB06Tree (const std::string &fileName="TB06Tree.root", const std::string &treeName="Analysis")
 ctor More...
 
 ~TB06Tree ()
 dtor More...
 

Private Attributes

TClonesArray * m_data
 
int m_dataSize
 
TFile * m_file
 
TTree * m_tree
 

Detailed Description

Definition at line 14 of file TB06Tree.h.

Constructor & Destructor Documentation

TB06Tree::TB06Tree ( const std::string &  fileName = "TB06Tree.root",
const std::string &  treeName = "Analysis" 
)

ctor

Definition at line 8 of file TB06Tree.cc.

References DeadROC_duringRun::dir, m_data, m_file, and m_tree.

9  : m_file(nullptr), m_tree(nullptr), m_data(nullptr), m_dataSize(0) {
10  TDirectory *dir = gDirectory;
11  m_file = new TFile(fileName.c_str(), "RECREATE");
12  m_file->cd();
13  m_tree = new TTree(treeName.c_str(), "Analysis tree");
14  m_tree->SetAutoSave(10000000);
15  dir->cd();
16 
17  // m_tree->cd () ;
18  m_data = new TClonesArray(TB06Reco::Class(), 1);
19  m_data->ExpandCreateFast(1);
20 
21  // m_tree->Branch ("EGCO", &m_data, 64000, 2) ;
22  m_tree->Branch("TB06O", &m_data, 64000, 2);
23  m_tree->Print();
24 }
int m_dataSize
Definition: TB06Tree.h:46
TFile * m_file
Definition: TB06Tree.h:42
TTree * m_tree
Definition: TB06Tree.h:43
TClonesArray * m_data
Definition: TB06Tree.h:45
TB06Tree::~TB06Tree ( )

dtor

Definition at line 28 of file TB06Tree.cc.

References gather_cfg::cout, m_data, m_file, and m_tree.

28  {
29  std::cout << "[TB06Tree][dtor] saving TTree " << m_tree->GetName() << " with " << m_tree->GetEntries() << " entries"
30  << " on file: " << m_file->GetName() << std::endl;
31 
32  m_file->Write();
33  delete m_tree;
34  m_file->Close();
35  delete m_file;
36  delete m_data;
37 }
TFile * m_file
Definition: TB06Tree.h:42
TTree * m_tree
Definition: TB06Tree.h:43
TClonesArray * m_data
Definition: TB06Tree.h:45
tuple cout
Definition: gather_cfg.py:144

Member Function Documentation

void TB06Tree::check ( )

Definition at line 124 of file TB06Tree.cc.

References TB06Reco::convFactor, gather_cfg::cout, mps_splice::entry, PVValHelper::eta, TB06Reco::event, TB06Reco::localMap, m_data, TB06Reco::MEXTLenergy, TB06Reco::MEXTLeta, TB06Reco::MEXTLphi, phi, TB06Reco::run, TB06Reco::tableIsMoving, TB06Reco::xHodo, TB06Reco::xQualityHodo, TB06Reco::xSlopeHodo, TB06Reco::yHodo, TB06Reco::yQualityHodo, and TB06Reco::ySlopeHodo.

124  {
125  TB06Reco *entry = static_cast<TB06Reco *>(m_data->AddrAt(0));
126 
127  std::cout << "[TB06Tree][check]reading . . . \n";
128  std::cout << "[TB06Tree][check] entry->run: " << entry->run << "\n";
129  std::cout << "[TB06Tree][check] entry->event: " << entry->event << "\n";
130  std::cout << "[TB06Tree][check] entry->tableIsMoving: " << entry->tableIsMoving << "\n";
131  std::cout << "[TB06Tree][check] entry->MEXTLeta: " << entry->MEXTLeta << "\n";
132  std::cout << "[TB06Tree][check] entry->MEXTLphi: " << entry->MEXTLphi << "\n";
133  std::cout << "[TB06Tree][check] entry->MEXTLenergy: " << entry->MEXTLenergy << "\n";
134 
135  for (int eta = 0; eta < 7; ++eta)
136  for (int phi = 0; phi < 7; ++phi)
137  std::cout << "[TB06Tree][check] entry->localMap[" << eta << "][" << phi << "]: " << entry->localMap[eta][phi]
138  << "\n";
139 
140  std::cout << "[TB06Tree][check] entry->xHodo: " << entry->xHodo << "\n";
141  std::cout << "[TB06Tree][check] entry->yHodo: " << entry->yHodo << "\n";
142  std::cout << "[TB06Tree][check] entry->xSlopeHodo: " << entry->xSlopeHodo << "\n";
143  std::cout << "[TB06Tree][check] entry->ySlopeHodo: " << entry->ySlopeHodo << "\n";
144  std::cout << "[TB06Tree][check] entry->xQualityHodo: " << entry->xQualityHodo << "\n";
145  std::cout << "[TB06Tree][check] entry->yQualityHodo: " << entry->yQualityHodo << "\n";
146  std::cout << "[TB06Tree][check] entry->convFactor: " << entry->convFactor << "\n";
147 
148  /* to be implemented with the right variables
149  std::cout << "[TB06Tree][check] ------------------------" << std::endl ;
150  std::cout << "[TB06Tree][check] " << entry->variable_name << std::endl ;
151  */
152 }
Int_t run
run number
Definition: TB06Reco.h:13
Float_t convFactor
conversion factor from ADC to GeV used
Definition: TB06Reco.h:57
Float_t yHodo
hodoscope y coord (phi)
Definition: TB06Reco.h:44
Float_t localMap[7][7]
energy in 7x7 xtals around the most energetic one
Definition: TB06Reco.h:33
Int_t MEXTLeta
most energetic crystal eta
Definition: TB06Reco.h:24
Float_t xQualityHodo
hodoscope x quality (eta)
Definition: TB06Reco.h:52
Int_t event
event number
Definition: TB06Reco.h:15
Float_t MEXTLenergy
most energetic crystal energy
Definition: TB06Reco.h:28
Float_t xSlopeHodo
hodoscope x slope (eta)
Definition: TB06Reco.h:48
Int_t MEXTLphi
most energetic crystal phi
Definition: TB06Reco.h:26
Int_t tableIsMoving
if the table is moving
Definition: TB06Reco.h:17
TClonesArray * m_data
Definition: TB06Tree.h:45
list entry
Definition: mps_splice.py:68
tuple cout
Definition: gather_cfg.py:144
Float_t yQualityHodo
hodoscope y quality (eta)
Definition: TB06Reco.h:54
Float_t ySlopeHodo
hodoscope y slope (eta)
Definition: TB06Reco.h:50
Float_t xHodo
hodoscope x coord (eta)
Definition: TB06Reco.h:42
void TB06Tree::reset ( float  crystal[11][21])

Definition at line 114 of file TB06Tree.cc.

References PVValHelper::eta, and phi.

Referenced by MatrixReader.MatrixReader::__init__(), data_sources.json_list::__next__(), and MatrixReader.MatrixReader::showRaw().

114  {
115  for (int eta = 0; eta < 11; ++eta) {
116  for (int phi = 0; phi < 21; ++phi) {
117  crystal[eta][phi] = -999.;
118  }
119  }
120 }
void TB06Tree::store ( const int &  tableIsMoving,
const int &  run,
const int &  event,
const int &  S6adc,
const double &  xhodo,
const double &  yhodo,
const double &  xslope,
const double &  yslope,
const double &  xquality,
const double &  yquality,
const int &  icMax,
const int &  ietaMax,
const int &  iphiMax,
const double &  beamEnergy,
const double  ampl[49] 
)

to be called at each loop

Definition at line 42 of file TB06Tree.cc.

References TB06Reco::beamEnergy, TB06Reco::convFactor, mps_splice::entry, PVValHelper::eta, TB06Reco::event, edmPickEvents::event, TB06Reco::localMap, m_data, m_tree, TB06Reco::MEXTLenergy, TB06Reco::MEXTLeta, TB06Reco::MEXTLindex, TB06Reco::MEXTLphi, phi, TB06Reco::reset(), TB06Reco::run, submitPVValidationJobs::run, TB06Reco::S6ADC, TB06Reco::tableIsMoving, TB06Reco::xHodo, TB06Reco::xQualityHodo, TB06Reco::xSlopeHodo, TB06Reco::yHodo, TB06Reco::yQualityHodo, and TB06Reco::ySlopeHodo.

56  {
57  m_data->Clear();
58  TB06Reco *entry = static_cast<TB06Reco *>(m_data->AddrAt(0));
59 
60  entry->reset();
61  // reset (entry->myCalibrationMap) ;
62 
63  entry->tableIsMoving = tableIsMoving;
64  entry->run = run;
65  entry->event = event;
66  entry->S6ADC = S6adc;
67 
68  entry->MEXTLindex = icMax;
69  entry->MEXTLeta = ietaMax;
70  entry->MEXTLphi = iphiMax;
71  entry->MEXTLenergy = ampl[24];
72  entry->beamEnergy = beamEnergy;
73 
74  for (int eta = 0; eta < 7; ++eta)
75  for (int phi = 0; phi < 7; ++phi) {
76  // FIXME capire l'orientamento di phi!
77  // FIXME capire se eta, phi iniziano da 1 o da 0
78  entry->localMap[eta][phi] = ampl[eta * 7 + phi];
79  }
80 
81  entry->xHodo = xhodo;
82  entry->yHodo = yhodo;
83  entry->xSlopeHodo = xslope;
84  entry->ySlopeHodo = yslope;
85  entry->xQualityHodo = xquality;
86  entry->yQualityHodo = yquality;
87 
88  entry->convFactor = 0.;
89 
90  /*
91  // loop over the 5x5 see (1)
92  for (int xtal=0 ; xtal<25 ; ++xtal)
93  {
94  int ieta = xtal/5 + 3 ;
95  int iphi = xtal%5 + 8 ;
96  entry->myCalibrationMap[ieta][iphi] = ampl[xtal] ;
97  } // loop over the 5x5
98 
99  entry->electron_Tr_Pmag_ = beamEnergy ;
100 
101  entry->centralCrystalEta_ = ietaMax ;
102  entry->centralCrystalPhi_ = iphiMax ;
103  entry->centralCrystalEnergy_ = ampl[12] ;
104 
105  // this is a trick
106  entry->electron_Tr_Peta_ = xhodo ;
107  entry->electron_Tr_Pphi_ = yhodo ;
108  */
109  m_tree->Fill();
110 }
Int_t run
run number
Definition: TB06Reco.h:13
Float_t convFactor
conversion factor from ADC to GeV used
Definition: TB06Reco.h:57
Float_t yHodo
hodoscope y coord (phi)
Definition: TB06Reco.h:44
Float_t localMap[7][7]
energy in 7x7 xtals around the most energetic one
Definition: TB06Reco.h:33
Int_t MEXTLeta
most energetic crystal eta
Definition: TB06Reco.h:24
Float_t xQualityHodo
hodoscope x quality (eta)
Definition: TB06Reco.h:52
Int_t event
event number
Definition: TB06Reco.h:15
Float_t MEXTLenergy
most energetic crystal energy
Definition: TB06Reco.h:28
Float_t xSlopeHodo
hodoscope x slope (eta)
Definition: TB06Reco.h:48
Int_t MEXTLphi
most energetic crystal phi
Definition: TB06Reco.h:26
Float_t beamEnergy
energy of the beam
Definition: TB06Reco.h:30
void reset()
set all the values to 0
Definition: TB06Reco.cc:8
Int_t tableIsMoving
if the table is moving
Definition: TB06Reco.h:17
TTree * m_tree
Definition: TB06Tree.h:43
TClonesArray * m_data
Definition: TB06Tree.h:45
list entry
Definition: mps_splice.py:68
Int_t MEXTLindex
most energetic crystal index
Definition: TB06Reco.h:22
Int_t S6ADC
ADC output of the S6 integrated signal.
Definition: TB06Reco.h:19
Float_t yQualityHodo
hodoscope y quality (eta)
Definition: TB06Reco.h:54
Float_t ySlopeHodo
hodoscope y slope (eta)
Definition: TB06Reco.h:50
Float_t xHodo
hodoscope x coord (eta)
Definition: TB06Reco.h:42

Member Data Documentation

TClonesArray* TB06Tree::m_data
private

Definition at line 45 of file TB06Tree.h.

Referenced by check(), store(), TB06Tree(), and ~TB06Tree().

int TB06Tree::m_dataSize
private

Definition at line 46 of file TB06Tree.h.

TFile* TB06Tree::m_file
private

Definition at line 42 of file TB06Tree.h.

Referenced by TB06Tree(), and ~TB06Tree().

TTree* TB06Tree::m_tree
private

Definition at line 43 of file TB06Tree.h.

Referenced by store(), TB06Tree(), and ~TB06Tree().