Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
L1Trigger
DTBti
src
DTBtiHit.cc
Go to the documentation of this file.
1
//-------------------------------------------------
2
//
3
// Class: DTBtiHit
4
//
5
// Description: A class for hits in a drift cell
6
//
7
//
8
// Author List:
9
// C. Grandi
10
// Modifications:
11
// S. Vanini
12
// 17/V/04 SV: tdrift in tdc units, phase is included!!
13
// 22/VI/04 SV: last trigger code update
14
// 05/II/07 SV: move setuptime to BtiCard
15
//--------------------------------------------------
16
17
//#include "Utilities/Configuration/interface/Architecture.h"
18
19
//-----------------------
20
// This Class's Header --
21
//-----------------------
22
#include "
L1Trigger/DTBti/interface/DTBtiHit.h
"
23
24
//-------------------------------
25
// Collaborating Class Headers --
26
//-------------------------------
27
#include <
DataFormats/DTDigi/interface/DTDigiCollection.h
>
28
//#include "Utilities/UI/interface/SimpleConfigurable.h"
29
//#include "Utilities/Notification/interface/Singleton.h"
30
//#include "TestBeams/DTBXAnalysis/interface/DTBXCalibration.h"
31
//---------------
32
// C++ Headers --
33
//---------------
34
35
// Internal clock (time of a step: 12.5 ns or 16 tdc counts ==> 80 MHz)
36
const
float
DTBtiHit::_stepTime
= 12.5;
37
const
float
DTBtiHit::_stepTimeTdc
= 16.;
38
//const float DTBtiHit::_stepTime = 6.25;
39
40
//SV only for TestBeam version
41
//string DTBtiHit::t0envFlag = SimpleConfigurable<string>( " ",
42
// "TestBeams:DTBXAnalysis:T0SetUpFlag" );
43
44
//----------------
45
// Constructors --
46
//----------------
47
48
DTBtiHit::DTBtiHit
(
const
DTDigi
* hitdigi,
DTConfigBti
*
config
) : _hitdigi(hitdigi), _config(config) {
49
//SV tdcunits 11V04: time in tdc units! setup time too!
50
_curTime
= hitdigi->
countsTDC
();
//@@ only DT>0
51
52
/*
53
// *** ATTENTION FOR RUNNING TESTBEAM DATA ***
54
// SV 26/IX/03 if digi are corrected with wire t0s in DTBXDigitizer
55
// tdrift values must be corrected with t0 mean instead because
56
// trigger hardware don't see cable length !
57
_curTime = hitdigi->countsTDC();
58
59
if( t0envFlag != " " ){
60
DTBXCalibration* calibration = Singleton<DTBXCalibration>::instance();
61
//the following for digitization procedure.... see DTBXDigitizer
62
int bmax = calibration->bitMax();
63
if ( _curTime >= ( bmax + calibration->recMin() ) )
64
_curTime -= bmax;
65
66
//SV tdcunits 11V04: add t0 and trig to have raw time in tdcunits
67
_curTime += ( calibration->t0( hitdigi->slayer(), hitdigi->layer(), hitdigi->wire() )
68
+ calibration->tTrig() );
69
70
//tdc clocks in 16 units
71
int delay16 = int( ( calibration->t0mean(hitdigi->slayer()) +
72
calibration->tTrig() )
73
/_stepTimeTdc );
74
75
//bti clocks of 16 tdc units
76
_clockTime = (int)( (_curTime +
77
_config->SetupTime())/_stepTimeTdc) - delay16;
78
}
79
80
*/
81
//bti clocks of 16 tdc units : first clock is number 1!
82
//_clockTime = (int)( (_curTime + _config->SetupTime()) / _stepTimeTdc ) + 1;
83
_clockTime
= (int)(
_curTime
/
_stepTimeTdc
) + 1;
84
}
85
86
DTBtiHit::DTBtiHit
(
int
clockTime,
DTConfigBti
*
config
) : _config(config) {
87
_clockTime
=
clockTime
;
88
_hitdigi
=
nullptr
;
89
_curTime
= 4000;
90
}
91
92
DTBtiHit::DTBtiHit
(
const
DTBtiHit
&
hit
)
93
: _hitdigi(hit._hitdigi), _config(hit._config), _curTime(hit._curTime), _clockTime(hit._clockTime) {}
94
95
//--------------
96
// Destructor --
97
//--------------
98
DTBtiHit::~DTBtiHit
() {}
99
100
//--------------
101
// Operations --
102
//--------------
103
104
DTBtiHit
&
DTBtiHit::operator=
(
const
DTBtiHit
&
hit
) {
105
if
(
this
!= &hit) {
106
_hitdigi
= hit.
_hitdigi
;
107
_config
= hit.
_config
;
108
_curTime
= hit.
_curTime
;
109
_clockTime
= hit.
_clockTime
;
110
}
111
return
*
this
;
112
}
DTBtiHit
Definition:
DTBtiHit.h:43
DTBtiHit::~DTBtiHit
~DTBtiHit()
Destructor.
Definition:
DTBtiHit.cc:98
DTBtiHit::_config
DTConfigBti * _config
Definition:
DTBtiHit.h:115
DTBtiHit::DTBtiHit
DTBtiHit(const DTDigi *, DTConfigBti *)
Constructor.
Definition:
DTBtiHit.cc:48
DTBtiHit::clockTime
int clockTime() const
Definition:
DTBtiHit.h:74
DTBtiHit::_clockTime
int _clockTime
Definition:
DTBtiHit.h:117
DTBtiHit::_stepTimeTdc
static const float _stepTimeTdc
Definition:
DTBtiHit.h:110
DTBtiHit.h
DTDigiCollection.h
DTBtiHit::_curTime
float _curTime
Definition:
DTBtiHit.h:116
DTDigi
Definition:
DTDigi.h:17
DTBtiHit::operator=
DTBtiHit & operator=(const DTBtiHit &)
Assignment operator.
Definition:
DTBtiHit.cc:104
hit
Definition:
SiStripHitEffFromCalibTree.cc:87
DTBtiHit::_stepTime
static const float _stepTime
Definition:
DTBtiHit.h:109
submitPVResolutionJobs.config
tuple config
parse the configuration file
Definition:
submitPVResolutionJobs.py:281
DTBtiHit::_hitdigi
const DTDigi * _hitdigi
Definition:
DTBtiHit.h:114
DTConfigBti
Definition:
DTConfigBti.h:36
DTDigi::countsTDC
int32_t countsTDC() const
Get raw TDC count.
Definition:
DTDigi.cc:39
Generated for CMSSW Reference Manual by
1.8.5