Alignment
MuonAlignmentAlgorithms
plugins
MuonDTLocalMillepedeAlgorithm.h
Go to the documentation of this file.
1
#ifndef Alignment_MuonAlignmentAlgorithms_MuonDTLocalMillepedeAlgorithm_h
2
#define Alignment_MuonAlignmentAlgorithms_MuonDTLocalMillepedeAlgorithm_h
3
4
5
#include "
Alignment/CommonAlignmentAlgorithm/interface/AlignmentAlgorithmBase.h
"
6
#include "
Alignment/CommonAlignmentAlgorithm/interface/AlignmentIORoot.h
"
7
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
8
9
#include "
FWCore/ServiceRegistry/interface/Service.h
"
10
#include "PhysicsTools/UtilAlgos/interface/TFileService.h"
11
12
#include "TH1D.h"
13
#include "TProfile.h"
14
#include "TTree.h"
15
#include "TFile.h"
16
#include "TChain.h"
17
#include "TMatrixD.h"
18
19
20
class
AlignableNavigator
;
21
class
TFile;
22
class
TTree;
23
class
AlignableDet
;
24
25
#define MAX_HIT 60
26
#define MAX_HIT_CHAM 14
27
#define MAX_SEGMENT 5
28
29
30
class
MuonDTLocalMillepedeAlgorithm
:
public
AlignmentAlgorithmBase
31
{
32
33
public
:
34
36
MuonDTLocalMillepedeAlgorithm
(
const
edm::ParameterSet
&
cfg
);
37
39
~MuonDTLocalMillepedeAlgorithm
() {};
40
42
void
initialize
(
const
edm::EventSetup
&
setup
,
43
AlignableTracker
*
tracker
,
AlignableMuon
*
muon
,
44
AlignmentParameterStore
* store);
45
47
void
terminate
(
void
);
48
49
51
void
run
(
const
edm::EventSetup
&
setup
,
const
EventInfo
&
eventInfo
);
52
//void run( const edm::EventSetup& , const ConstTrajTrackPairCollection& );
53
54
55
56
private
:
57
58
// Builds the 4D segments
59
bool
build4DSegments
();
60
61
// Declares the tree structure and associated the variables
62
void
setBranchTrees
();
63
64
//Auxiliar structure for 4D segment construction
65
typedef
struct
{
66
int
nhits
;
67
float
xc
[
MAX_HIT
];
float
yc
[
MAX_HIT
];
float
zc
[
MAX_HIT
];
68
float
erx[
MAX_HIT
];
69
int
wh
[
MAX_HIT
];
int
st
[
MAX_HIT
];
int
sr
[
MAX_HIT
];
70
int
sl
[
MAX_HIT
];
int
la
[
MAX_HIT
];
71
}
Info1D
;
72
73
Info1D
myTrack1D
;
74
75
76
//Block of variables for the tree
77
//---------------------------------------------------------
78
float
p
,
pt
,
eta
,
phi
,
charge
;
79
int
nseg
;
80
int
nphihits
[
MAX_SEGMENT
];
81
int
nthetahits
[
MAX_SEGMENT
];
82
int
nhits
[
MAX_SEGMENT
];
83
float
xSl
[
MAX_SEGMENT
];
84
float
dxdzSl
[
MAX_SEGMENT
];
85
float
exSl
[
MAX_SEGMENT
];
86
float
edxdzSl
[
MAX_SEGMENT
];
87
float
exdxdzSl
[
MAX_SEGMENT
];
88
float
ySl
[
MAX_SEGMENT
];
89
float
dydzSl
[
MAX_SEGMENT
];
90
float
eySl
[
MAX_SEGMENT
];
91
float
edydzSl
[
MAX_SEGMENT
];
92
float
eydydzSl
[
MAX_SEGMENT
];
93
float
xSlSL1
[
MAX_SEGMENT
];
94
float
dxdzSlSL1
[
MAX_SEGMENT
];
95
float
exSlSL1
[
MAX_SEGMENT
];
96
float
edxdzSlSL1
[
MAX_SEGMENT
];
97
float
exdxdzSlSL1
[
MAX_SEGMENT
];
98
float
xSL1SL3
[
MAX_SEGMENT
];
99
float
xSlSL3
[
MAX_SEGMENT
];
100
float
dxdzSlSL3
[
MAX_SEGMENT
];
101
float
exSlSL3
[
MAX_SEGMENT
];
102
float
edxdzSlSL3
[
MAX_SEGMENT
];
103
float
exdxdzSlSL3
[
MAX_SEGMENT
];
104
float
xSL3SL1
[
MAX_SEGMENT
];
105
float
xc
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
106
float
yc
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
107
float
zc
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
108
float
ex
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
109
float
xcp
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
110
float
ycp
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
111
float
excp
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
112
float
eycp
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
113
int
wh
[
MAX_SEGMENT
];
int
st
[
MAX_SEGMENT
];
int
sr
[
MAX_SEGMENT
];
114
int
sl
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
115
int
la
[
MAX_SEGMENT
][
MAX_HIT_CHAM
];
116
//---------------------------------------------------------------
117
118
119
120
121
// private data members
122
TFile *
f
;
123
TTree *
ttreeOutput
;
124
TChain *
tali
;
125
126
127
AlignmentParameterStore
*
theAlignmentParameterStore
;
128
align::Alignables
theAlignables
;
129
AlignableNavigator
*
theAlignableDetAccessor
;
130
131
//Service for histograms
132
edm::Service<TFileService>
fs
;
133
134
edm::InputTag
globalTracks
;
135
edm::InputTag
consTraj
;
136
std::string
ntuplePath
;
137
float
ptMax
;
138
float
ptMin
;
139
float
nPhihits
;
140
float
nThetahits
;
141
int
workingmode
;
142
int
numberOfRootFiles
;
143
int
nMtxSection
;
144
145
146
//FIXME: Not clear if needed
147
float
numberOfSigmasX
;
148
float
numberOfSigmasDXDZ
;
149
float
numberOfSigmasY
;
150
float
numberOfSigmasDYDZ
;
151
152
float
meanx
[5][4][14];
153
float
sigmax
[5][4][14];
154
float
meandxdz
[5][4][14];
155
float
sigmadxdz
[5][4][14];
156
float
meany
[5][4][14];
157
float
sigmay
[5][4][14];
158
float
meandydz
[5][4][14];
159
float
sigmadydz
[5][4][14];
160
161
162
};
163
164
#endif
MuonDTLocalMillepedeAlgorithm::xSL1SL3
float xSL1SL3[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:98
AlignmentIORoot.h
MuonDTLocalMillepedeAlgorithm::f
TFile * f
Definition:
MuonDTLocalMillepedeAlgorithm.h:122
MuonDTLocalMillepedeAlgorithm
Definition:
MuonDTLocalMillepedeAlgorithm.h:30
MuonDTLocalMillepedeAlgorithm::phi
float phi
Definition:
MuonDTLocalMillepedeAlgorithm.h:78
MuonDTLocalMillepedeAlgorithm::tali
TChain * tali
Definition:
MuonDTLocalMillepedeAlgorithm.h:124
MuonDTLocalMillepedeAlgorithm::Info1D::nhits
int nhits
Definition:
MuonDTLocalMillepedeAlgorithm.h:66
MuonDTLocalMillepedeAlgorithm::theAlignableDetAccessor
AlignableNavigator * theAlignableDetAccessor
Definition:
MuonDTLocalMillepedeAlgorithm.h:129
MuonDTLocalMillepedeAlgorithm::workingmode
int workingmode
Definition:
MuonDTLocalMillepedeAlgorithm.h:141
muon
Definition:
MuonCocktails.h:17
MuonDTLocalMillepedeAlgorithm::Info1D
Definition:
MuonDTLocalMillepedeAlgorithm.h:65
MuonDTLocalMillepedeAlgorithm::sigmay
float sigmay[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:157
MuonDTLocalMillepedeAlgorithm::pt
float pt
Definition:
MuonDTLocalMillepedeAlgorithm.h:78
MuonDTLocalMillepedeAlgorithm::xcp
float xcp[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:109
MuonDTLocalMillepedeAlgorithm::terminate
void terminate(void)
Call at end of job.
Definition:
MuonDTLocalMillepedeAlgorithm.cc:110
MuonDTLocalMillepedeAlgorithm::eySl
float eySl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:90
MuonDTLocalMillepedeAlgorithm::sr
int sr[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:113
MuonDTLocalMillepedeAlgorithm::consTraj
edm::InputTag consTraj
Definition:
MuonDTLocalMillepedeAlgorithm.h:135
MuonDTLocalMillepedeAlgorithm::nThetahits
float nThetahits
Definition:
MuonDTLocalMillepedeAlgorithm.h:140
MuonDTLocalMillepedeAlgorithm::la
int la[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:115
MuonDTLocalMillepedeAlgorithm::sigmadxdz
float sigmadxdz[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:155
MuonDTLocalMillepedeAlgorithm::fs
edm::Service< TFileService > fs
Definition:
MuonDTLocalMillepedeAlgorithm.h:132
MuonDTLocalMillepedeAlgorithm::initialize
void initialize(const edm::EventSetup &setup, AlignableTracker *tracker, AlignableMuon *muon, AlignmentParameterStore *store)
Call at beginning of job.
Definition:
MuonDTLocalMillepedeAlgorithm.cc:86
MuonDTLocalMillepedeAlgorithm::exSlSL1
float exSlSL1[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:95
MuonDTLocalMillepedeAlgorithm::sigmadydz
float sigmadydz[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:159
AlignmentAlgorithmBase
Definition:
AlignmentAlgorithmBase.h:59
MuonDTLocalMillepedeAlgorithm::setBranchTrees
void setBranchTrees()
Definition:
MuonDTLocalMillepedeAlgorithm.cc:419
singleTopDQM_cfi.setup
setup
Definition:
singleTopDQM_cfi.py:37
MAX_HIT
#define MAX_HIT
Definition:
MuonDTLocalMillepedeAlgorithm.h:25
MuonDTLocalMillepedeAlgorithm::MuonDTLocalMillepedeAlgorithm
MuonDTLocalMillepedeAlgorithm(const edm::ParameterSet &cfg)
Constructor.
Definition:
MuonDTLocalMillepedeAlgorithm.cc:41
MuonDTLocalMillepedeAlgorithm::xSl
float xSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:83
MuonDTLocalMillepedeAlgorithm::ptMin
float ptMin
Definition:
MuonDTLocalMillepedeAlgorithm.h:138
MuonDTLocalMillepedeAlgorithm::dxdzSlSL1
float dxdzSlSL1[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:94
AlignableDet
Definition:
AlignableDet.h:8
MuonDTLocalMillepedeAlgorithm::xSlSL1
float xSlSL1[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:93
MuonDTLocalMillepedeAlgorithm::edxdzSlSL1
float edxdzSlSL1[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:96
MuonDTLocalMillepedeAlgorithm::exSlSL3
float exSlSL3[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:101
MuonDTLocalMillepedeAlgorithm::ex
float ex[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:108
MuonDTLocalMillepedeAlgorithm::nhits
int nhits[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:82
Service.h
MuonDTLocalMillepedeAlgorithm::sl
int sl[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:114
MuonDTLocalMillepedeAlgorithm::numberOfSigmasX
float numberOfSigmasX
Definition:
MuonDTLocalMillepedeAlgorithm.h:147
MuonDTLocalMillepedeAlgorithm::meandxdz
float meandxdz[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:154
MuonDTLocalMillepedeAlgorithm::exSl
float exSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:85
MuonDTLocalMillepedeAlgorithm::exdxdzSl
float exdxdzSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:87
AlignableTracker
Definition:
AlignableTracker.h:17
MuonDTLocalMillepedeAlgorithm::theAlignables
align::Alignables theAlignables
Definition:
MuonDTLocalMillepedeAlgorithm.h:128
MuonDTLocalMillepedeAlgorithm::zc
float zc[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:107
MuonDTLocalMillepedeAlgorithm::exdxdzSlSL3
float exdxdzSlSL3[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:103
MuonDTLocalMillepedeAlgorithm::wh
int wh[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:113
AlignableNavigator
Definition:
AlignableNavigator.h:25
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
MuonDTLocalMillepedeAlgorithm::dxdzSl
float dxdzSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:84
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition:
PbPb_ZMuSkimMuonDPG_cff.py:60
ZMuMuAnalysisNtupler_cff.eventInfo
eventInfo
Definition:
ZMuMuAnalysisNtupler_cff.py:15
MuonDTLocalMillepedeAlgorithm::eydydzSl
float eydydzSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:92
MuonDTLocalMillepedeAlgorithm::sigmax
float sigmax[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:153
edm::ParameterSet
Definition:
ParameterSet.h:47
MuonDTLocalMillepedeAlgorithm::nthetahits
int nthetahits[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:81
MuonDTLocalMillepedeAlgorithm::xc
float xc[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:105
AlignableMuon
Constructor of the full muon geometry.
Definition:
AlignableMuon.h:33
MuonDTLocalMillepedeAlgorithm::meanx
float meanx[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:152
edm::Service< TFileService >
MuonDTLocalMillepedeAlgorithm::nPhihits
float nPhihits
Definition:
MuonDTLocalMillepedeAlgorithm.h:139
edm::EventSetup
Definition:
EventSetup.h:57
MuonDTLocalMillepedeAlgorithm::myTrack1D
Info1D myTrack1D
Definition:
MuonDTLocalMillepedeAlgorithm.h:73
MuonDTLocalMillepedeAlgorithm::xSL3SL1
float xSL3SL1[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:104
MuonDTLocalMillepedeAlgorithm::xSlSL3
float xSlSL3[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:99
MAX_SEGMENT
#define MAX_SEGMENT
Definition:
MuonDTLocalMillepedeAlgorithm.h:27
MuonDTLocalMillepedeAlgorithm::dxdzSlSL3
float dxdzSlSL3[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:100
MuonDTLocalMillepedeAlgorithm::excp
float excp[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:111
looper.cfg
cfg
Definition:
looper.py:297
MuonDTLocalMillepedeAlgorithm::eycp
float eycp[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:112
MuonDTLocalMillepedeAlgorithm::~MuonDTLocalMillepedeAlgorithm
~MuonDTLocalMillepedeAlgorithm()
Destructor.
Definition:
MuonDTLocalMillepedeAlgorithm.h:39
align::Alignables
std::vector< Alignable * > Alignables
Definition:
Utilities.h:31
MuonDTLocalMillepedeAlgorithm::globalTracks
edm::InputTag globalTracks
Definition:
MuonDTLocalMillepedeAlgorithm.h:134
MuonDTLocalMillepedeAlgorithm::p
float p
Definition:
MuonDTLocalMillepedeAlgorithm.h:78
MuonDTLocalMillepedeAlgorithm::numberOfSigmasY
float numberOfSigmasY
Definition:
MuonDTLocalMillepedeAlgorithm.h:149
MuonDTLocalMillepedeAlgorithm::yc
float yc[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:106
MuonDTLocalMillepedeAlgorithm::nseg
int nseg
Definition:
MuonDTLocalMillepedeAlgorithm.h:79
AlignmentParameterStore
Definition:
AlignmentParameterStore.h:23
MuonDTLocalMillepedeAlgorithm::nMtxSection
int nMtxSection
Definition:
MuonDTLocalMillepedeAlgorithm.h:143
MuonDTLocalMillepedeAlgorithm::theAlignmentParameterStore
AlignmentParameterStore * theAlignmentParameterStore
Definition:
MuonDTLocalMillepedeAlgorithm.h:127
MuonDTLocalMillepedeAlgorithm::edxdzSlSL3
float edxdzSlSL3[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:102
MuonDTLocalMillepedeAlgorithm::ttreeOutput
TTree * ttreeOutput
Definition:
MuonDTLocalMillepedeAlgorithm.h:123
MuonDTLocalMillepedeAlgorithm::ycp
float ycp[5][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:110
MuonDTLocalMillepedeAlgorithm::st
int st[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:113
MuonDTLocalMillepedeAlgorithm::numberOfRootFiles
int numberOfRootFiles
Definition:
MuonDTLocalMillepedeAlgorithm.h:142
MuonDTLocalMillepedeAlgorithm::ySl
float ySl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:88
MuonDTLocalMillepedeAlgorithm::eta
float eta
Definition:
MuonDTLocalMillepedeAlgorithm.h:78
AlignmentAlgorithmBase.h
Interface/Base class for alignment algorithms, each alignment algorithm has to be derived from this c...
MuonDTLocalMillepedeAlgorithm::ntuplePath
std::string ntuplePath
Definition:
MuonDTLocalMillepedeAlgorithm.h:136
MuonDTLocalMillepedeAlgorithm::nphihits
int nphihits[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:80
MuonDTLocalMillepedeAlgorithm::meandydz
float meandydz[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:158
MAX_HIT_CHAM
#define MAX_HIT_CHAM
Definition:
MuonDTLocalMillepedeAlgorithm.h:26
MuonDTLocalMillepedeAlgorithm::meany
float meany[5][4][14]
Definition:
MuonDTLocalMillepedeAlgorithm.h:156
ParameterSet.h
MuonDTLocalMillepedeAlgorithm::numberOfSigmasDXDZ
float numberOfSigmasDXDZ
Definition:
MuonDTLocalMillepedeAlgorithm.h:148
MuonDTLocalMillepedeAlgorithm::edydzSl
float edydzSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:91
MuonDTLocalMillepedeAlgorithm::numberOfSigmasDYDZ
float numberOfSigmasDYDZ
Definition:
MuonDTLocalMillepedeAlgorithm.h:150
MuonDTLocalMillepedeAlgorithm::build4DSegments
bool build4DSegments()
Definition:
MuonDTLocalMillepedeAlgorithm.cc:214
MuonDTLocalMillepedeAlgorithm::edxdzSl
float edxdzSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:86
edm::InputTag
Definition:
InputTag.h:15
MuonDTLocalMillepedeAlgorithm::run
void run(const edm::EventSetup &setup, const EventInfo &eventInfo)
Run the algorithm on trajectories and tracks.
Definition:
MuonDTLocalMillepedeAlgorithm.cc:132
MuonDTLocalMillepedeAlgorithm::charge
float charge
Definition:
MuonDTLocalMillepedeAlgorithm.h:78
MuonDTLocalMillepedeAlgorithm::ptMax
float ptMax
Definition:
MuonDTLocalMillepedeAlgorithm.h:137
AlignmentAlgorithmBase::EventInfo
define event information passed to algorithms
Definition:
AlignmentAlgorithmBase.h:72
MuonDTLocalMillepedeAlgorithm::dydzSl
float dydzSl[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:89
MuonDTLocalMillepedeAlgorithm::exdxdzSlSL1
float exdxdzSlSL1[5]
Definition:
MuonDTLocalMillepedeAlgorithm.h:97
Generated for CMSSW Reference Manual by
1.8.16