130 std::map<uint32_t,float>
delay(
const std::vector<std::string>&);
144 std::multimap<const uint32_t,const FedChannelConnection*>
connections_;
234 ntracks_ =
new uint32_t[trackLabel_.size()];
235 ntrajs_ =
new uint32_t[trackLabel_.size()];
237 trackid_ =
new uint32_t[trackLabel_.size()];
240 for(
size_t i = 0;
i<trackLabel_.size();++
i) {
253 clusters_ = dir->
make<TTree>(
"clusters",
"cluster information");
254 clusters_->Branch(
"eventid",&
eventid_,
"eventid/i");
255 clusters_->Branch(
"runid",&
runid_,
"runid/i");
256 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
259 sprintf(buffer1,
"trackid%lu",(
unsigned long)
i);
260 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
261 clusters_->Branch(buffer1,
trackid_+i,buffer2);
263 clusters_->Branch(
"onTrack",&
onTrack_,
"onTrack/O");
264 clusters_->Branch(
"clWidth",&
clWidth_,
"clWidth/F");
265 clusters_->Branch(
"clPosition",&
clPosition_,
"clPosition/F");
266 clusters_->Branch(
"clglobalX",&
globalX_,
"clglobalX/F");
267 clusters_->Branch(
"clglobalY",&
globalY_,
"clglobalY/F");
268 clusters_->Branch(
"clglobalZ",&
globalZ_,
"clglobalZ/F");
269 clusters_->Branch(
"angle",&
angle_,
"angle/F");
270 clusters_->Branch(
"thickness",&
thickness_,
"thickness/F");
271 clusters_->Branch(
"maxCharge",&
maxCharge_,
"maxCharge/F");
277 clusters_->Branch(
"clBareCharge",&
clBareCharge_,
"clBareCharge/F");
278 clusters_->Branch(
"clBareNoise",&
clBareNoise_,
"clBareNoise/F");
279 clusters_->Branch(
"stripLength",&
stripLength_,
"stripLength/F");
280 clusters_->Branch(
"detid",&
detid_,
"detid/i");
281 clusters_->Branch(
"lldChannel",&
lldChannel_,
"lldChannel/s");
287 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
290 sprintf(buffer1,
"trackid%lu",(
unsigned long)
i);
291 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
310 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
313 sprintf(buffer1,
"tracks%lu",(
unsigned long)
i);
314 sprintf(buffer2,
"track%lu information",(
unsigned long)i);
315 TTree* thetracks_ = dir->
make<TTree>(buffer1,buffer2);
316 sprintf(buffer1,
"trackid%lu",(
unsigned long)i);
317 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
319 thetracks_->Branch(
"eventid",&
eventid_,
"eventid/i");
320 thetracks_->Branch(
"runid",&
runid_,
"runid/i");
321 thetracks_->Branch(
"chi2",&
chi2_,
"chi2/F");
322 thetracks_->Branch(
"eta",&
eta_,
"eta/F");
323 thetracks_->Branch(
"etaerr",&
etaerr_,
"etaerr/F");
324 thetracks_->Branch(
"phi",&
phi_,
"phi/F");
325 thetracks_->Branch(
"phierr",&
phierr_,
"phierr/F");
326 thetracks_->Branch(
"dedx1",&
dedx1_,
"dedx1/F");
327 thetracks_->Branch(
"dedx2",&
dedx2_,
"dedx2/F");
328 thetracks_->Branch(
"dedx3",&
dedx3_,
"dedx3/F");
329 thetracks_->Branch(
"dedxNoM",&
dedxNoM_,
"dedxNoM/i");
330 thetracks_->Branch(
"charge",&
charge_,
"charge/F");
331 thetracks_->Branch(
"quality",&
quality_,
"quality/i");
332 thetracks_->Branch(
"foundhits",&
foundhits_,
"foundhits/i");
333 thetracks_->Branch(
"lostHits",&
lostHits_,
"lostHits/i");
334 thetracks_->Branch(
"foundhitsStrips",&
foundhitsStrips_,
"foundhitsStrips/i");
335 thetracks_->Branch(
"foundhitsPixels",&
foundhitsPixels_,
"foundhitsPixels/i");
336 thetracks_->Branch(
"losthitsStrips",&
losthitsStrips_,
"losthitsStrips/i");
337 thetracks_->Branch(
"losthitsPixels",&
losthitsPixels_,
"losthitsPixels/i");
338 thetracks_->Branch(
"p",&
p_,
"p/F");
339 thetracks_->Branch(
"pt",&
pt_,
"pt/F");
340 thetracks_->Branch(
"pterr",&
pterr_,
"pterr/F");
341 thetracks_->Branch(
"ndof",&
ndof_,
"ndof/i");
342 thetracks_->Branch(
"dz",&
dz_,
"dz/F");
343 thetracks_->Branch(
"dzerr",&
dzerr_,
"dzerr/F");
344 thetracks_->Branch(
"dzCorr",&
dzCorr_,
"dzCorr/F");
345 thetracks_->Branch(
"dxy",&
dxy_,
"dxy/F");
346 thetracks_->Branch(
"dxyerr",&
dxyerr_,
"dxyerr/F");
347 thetracks_->Branch(
"dxyCorr",&
dxyCorr_,
"dxyCorr/F");
348 thetracks_->Branch(
"qoverp",&
qoverp_,
"qoverp/F");
349 thetracks_->Branch(
"xPCA",&
xPCA_,
"xPCA/F");
350 thetracks_->Branch(
"yPCA",&
yPCA_,
"yPCA/F");
351 thetracks_->Branch(
"zPCA",&
zPCA_,
"zPCA/F");
352 thetracks_->Branch(
"nLayers",&
nLayers_,
"nLayers/i");
353 thetracks_->Branch(
"trkWeightpvtx",&
trkWeightpvtx_,
"trkWeightpvtx/F");
354 thetracks_->Branch(
"vertexid",&
vertexid_,
"vertexid/i");
359 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
362 sprintf(buffer1,
"misingHits%lu",(
unsigned long)
i);
363 sprintf(buffer2,
"missing hits from track collection %lu",(
unsigned long)i);
364 TTree* themissingHits_ = dir->
make<TTree>(buffer1,buffer2);
365 sprintf(buffer1,
"trackid%lu",(
unsigned long)i);
366 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
368 themissingHits_->Branch(
"eventid",&
eventid_,
"eventid/i");
369 themissingHits_->Branch(
"runid",&
runid_,
"runid/i");
370 themissingHits_->Branch(
"detid",&
detid_,
"detid/i");
371 themissingHits_->Branch(
"type",&
type_,
"type/i");
372 themissingHits_->Branch(
"localX",&
clPositionX_,
"localX/F");
373 themissingHits_->Branch(
"localY",&
clPositionY_,
"localY/F");
374 themissingHits_->Branch(
"globalX",&
globalX_,
"globalX/F");
375 themissingHits_->Branch(
"globalY",&
globalY_,
"globalY/F");
376 themissingHits_->Branch(
"globalZ",&
globalZ_,
"globalZ/F");
377 themissingHits_->Branch(
"measX",&
measX_,
"measX/F");
378 themissingHits_->Branch(
"measY",&
measY_,
"measY/F");
379 themissingHits_->Branch(
"errorX",&
errorX_,
"errorX/F");
380 themissingHits_->Branch(
"errorY",&
errorY_,
"errorY/F");
385 vertices_ = dir->
make<TTree>(
"vertices",
"vertex information");
416 event_ = dir->
make<TTree>(
"events",
"event information");
431 sprintf(buffer,
"ntracks[%lu]/i",(
unsigned long)trackLabel_.size());
432 event_->Branch(
"ntracks",ntracks_,buffer);
433 sprintf(buffer,
"ntrajs[%lu]/i",(
unsigned long)trackLabel_.size());
435 sprintf(buffer,
"lowPixelProbabilityFraction[%lu]/F",(
unsigned long)trackLabel_.size());
455 event_->Branch(
"MagneticField",&
fBz_,
"MagneticField/F");
498 using namespace reco;
531 for(
int bit=0;bit<128;++bit) {
535 for(
int bit=0;bit<64;++bit) {
539 for(
int bit=0;bit<64;++bit) {
546 size_t ntrh = trh->size();
547 for(
size_t bit=0;bit<256;++bit)
555 Point(recoBeamSpotHandle->x0(), recoBeamSpotHandle->y0(), recoBeamSpotHandle->z0()) :
557 if(recoBeamSpotHandle.isValid()) {
579 for(reco::VertexCollection::const_iterator
v=vertexColl.begin();
580 v!=vertexColl.end(); ++
v) {
609 std::vector<reco::TrackCollection> trackCollection;
610 std::vector<edm::Handle<reco::TrackCollection> > trackCollectionHandle;
615 trackCollection.push_back(*trackCollectionHandle[
index].product());
620 std::vector<std::vector<Trajectory> > trajectoryCollection;
621 std::vector<edm::Handle<std::vector<Trajectory> > > trajectoryCollectionHandle;
622 trajectoryCollectionHandle.resize(
trackLabel_.size());
626 trajectoryCollection.push_back(*trajectoryCollectionHandle[
index].product());
631 std::vector<TrajTrackAssociationCollection> TrajToTrackMap;
634 try {iEvent.
getByLabel(*
label,trajTrackAssociationHandle);}
catch (...) {;}
635 TrajToTrackMap.push_back(*trajTrackAssociationHandle.product());
639 if(!(trackCollection.size()>0 && trajectoryCollection.size()>0))
return;
642 std::vector<std::map<size_t,int> > trackVertices;
649 for(reco::VertexCollection::const_iterator
v=vertexColl.begin();
650 v!=vertexColl.end(); ++
v) {
668 for(reco::VertexCollection::const_iterator
v=pixelVertexColl.begin();
669 v!=pixelVertexColl.end(); ++
v) {
686 std::vector<double> clusterOntrackAngles =
onTrackAngles(clusters,trajectoryCollection[0]);
687 std::vector<std::pair<double,double> > pixclusterOntrackAngles =
onTrackAngles(pixelclusters,trajectoryCollection[0]);
705 std::vector< std::vector<int> > stripClusterOntrackIndices;
709 std::vector< std::vector<int> > pixelClusterOntrackIndices;
713 nclustersOntrack_ = count_if(stripClusterOntrackIndices[0].
begin(),stripClusterOntrackIndices[0].
end(),bind2nd(not_equal_to<int>(), -1));
714 npixClustersOntrack_ = count_if(pixelClusterOntrackIndices[0].
begin(),pixelClusterOntrackIndices[0].
end(),bind2nd(not_equal_to<int>(), -1));
717 for (
size_t coll = 0;
coll<trackCollection.size(); ++
coll) {
718 uint32_t n_hits_barrel=0;
719 uint32_t n_hits_lowprob=0;
723 eta_ = itTrack->eta();
724 phi_ = itTrack->phi();
726 dedxNoM_ = dEdxTrack1[itTrack].numberOfMeasurements();
727 dedx1_ = dEdxTrack1[itTrack].dEdx();
728 dedx2_ = dEdxTrack2[itTrack].dEdx();
729 dedx3_ = dEdxTrack3[itTrack].dEdx();
746 chi2_ = itTrack->chi2();
747 ndof_ = (uint32_t)itTrack->ndof();
749 dzerr_ = itTrack->dzError();
751 dxy_ = itTrack->dxy();
754 pterr_ = itTrack->ptError();
758 xPCA_ = itTrack->vertex().x();
759 yPCA_ = itTrack->vertex().y();
760 zPCA_ = itTrack->vertex().z();
761 nLayers_ = uint32_t(itTrack->hitPattern().trackerLayersWithMeasurement());
763 if(vertexColl.size()>0 && !vertexColl.begin()->isFake()) {
771 std::map<size_t,int>::const_iterator theV = trackVertices[
coll].find(itTrack.
key());
772 vertexid_ = (theV!=trackVertices[
coll].end()) ? theV->second : 0;
776 for(Trajectory::DataContainer::const_iterator it = measurements.begin(); it!=measurements.end(); ++it) {
778 if(!rechit->isValid()) {
780 detid_ = rechit->geographicalId();
782 type_ = rechit->getType();
784 LocalPoint local = it->predictedState().localPosition();
788 GlobalPoint global = it->predictedState().globalPosition();
818 DetId detId = pixhit->geographicalId();
821 double proba = pixhit->clusterProbability(0);
822 if(proba<=0.0) ++n_hits_lowprob;
834 std::vector<double>::const_iterator angleIt = clusterOntrackAngles.begin();
835 uint32_t localCounter = 0;
839 uint32_t
detid = DSViter->id();
846 trackid_[
i] = stripClusterOntrackIndices[
i][localCounter];
852 thickness_ = ((((DSViter->id()>>25)&0x7f)==0xd) ||
853 ((((DSViter->id()>>25)&0x7f)==0xe) && (((DSViter->id()>>5)&0x7)>4))) ? 500 : 300;
875 lldChannel_ = 1+(int(floor(iter->barycenter()))/256);
878 delete siStripClusterInfo;
885 std::vector<std::pair<double,double> >::const_iterator pixAngleIt = pixclusterOntrackAngles.begin();
890 uint32_t
detid = DSViter->id();
896 trackid_[
i] = pixelClusterOntrackIndices[
i][localCounter];
904 alpha_ = pixAngleIt->first;
905 beta_ = pixAngleIt->second;
906 charge_ = (iter->charge())/1000.;
954 for(std::vector<std::string>::const_iterator it =
hlNames_.begin(); it<
hlNames_.end();++it) {
955 std::cout << (i++) <<
" = " << (*it) << std::endl;
965 const std::vector< uint16_t > & feds =
cabling_->feds() ;
966 for(std::vector< uint16_t >::const_iterator fedid = feds.begin();fedid<feds.end();++fedid) {
967 const std::vector< FedChannelConnection > & connections =
cabling_->connections(*fedid);
968 for(std::vector< FedChannelConnection >::const_iterator
conn=connections.begin();
conn<connections.end();++
conn) {
970 if(
conn->isConnected())
973 if(
conn->isConnected()) {
998 if(delayMap.size()) tmap.
save(
true, 0, 0,
"delaymap.png");
1002 if(cablingFile.is_open()) {
1004 cablingFile.getline(buffer,1024);
1005 while(!cablingFile.eof()) {
1006 std::istringstream
line(buffer);
1010 strncpy(
PSUname_,name.c_str(),256);
1011 while(!line.eof()) {
1015 cablingFile.getline(buffer,1024);
1018 edm::LogWarning(
"BadConfig") <<
" The PSU file does not exist. The psumap tree will not be filled."
1020 << std::endl <<
" Please specify a valid filename through the PSUFileName untracked parameter.";
1029 sprintf(buffer,
"trackid%lu",(
unsigned long)
i);
1030 if(
tracks_[i]->GetEntries())
tracks_[
i]->BuildIndex(buffer,
"eventid");
1040 if(
event_->GetEntries())
event_->BuildIndex(
"runid",
"eventid");
1046 const std::vector<Trajectory>& trajVec )
1048 std::vector<double>
result;
1050 std::multimap<const uint32_t,std::pair<LocalPoint,double> > onTrackPositions;
1051 for(std::vector<Trajectory>::const_iterator traj = trajVec.begin(); traj< trajVec.end(); ++traj) {
1053 for(Trajectory::DataContainer::iterator meas = measurements.begin(); meas!= measurements.end(); ++meas) {
1054 double tla = meas->updatedState().localDirection().theta();
1063 std::pair< std::multimap<uint32_t,std::pair<LocalPoint,double> >::const_iterator,
1064 std::multimap<uint32_t,std::pair<LocalPoint,double> >::const_iterator> range =
1065 onTrackPositions.equal_range(DSViter->id());
1069 for(std::multimap<uint32_t,std::pair<LocalPoint,double> >::const_iterator
cl = range.first;
cl!= range.second; ++
cl) {
1071 angle =
cl->second.second;
1074 result.push_back(angle);
1083 const TSiTrackerMultiRecHit* multihit=
dynamic_cast<const TSiTrackerMultiRecHit*
>(hit);
1084 const TSiStripRecHit2DLocalPos* singlehit=
dynamic_cast<const TSiStripRecHit2DLocalPos*
>(hit);
1085 const TSiStripRecHit1D* hit1d=
dynamic_cast<const TSiStripRecHit1D*
>(hit);
1087 collection.insert(std::make_pair(hit1d->geographicalId().rawId(),std::make_pair(hit1d->localPosition(),tla)));
1088 }
else if(singlehit) {
1089 collection.insert(std::make_pair(singlehit->geographicalId().rawId(),std::make_pair(singlehit->localPosition(),tla)));
1092 std::vector< const TrackingRecHit * > childs = multihit->recHits();
1093 for(std::vector<const TrackingRecHit*>::const_iterator it=childs.begin();it!=childs.end();++it) {
1104 std::multimap<const uint32_t,std::pair<int,int> > onTrackPositions;
1105 uint32_t trackid = firstTrack;
1106 for(reco::TrackCollection::const_iterator itTrack = trackVec.begin(); itTrack!=trackVec.end();++itTrack,++trackid) {
1113 int thetrackid = -1;
1117 std::pair< std::multimap<uint32_t,std::pair<int,int> >::const_iterator,
1118 std::multimap<uint32_t,std::pair<int,int> >::const_iterator> range =
1119 onTrackPositions.equal_range(DSViter->id());
1122 for(std::multimap<uint32_t,std::pair<int,int> >::const_iterator
cl = range.first;
cl!= range.second; ++
cl) {
1123 if(fabs(
cl->second.first-iter->barycenter())<2) {
1124 thetrackid =
cl->second.second;
1127 result.push_back(thetrackid);
1137 const SiStripRecHit2D* singlehit=
dynamic_cast<const SiStripRecHit2D*
>(hit);
1138 const SiStripRecHit1D* hit1d=
dynamic_cast<const SiStripRecHit1D*
>(hit);
1140 collection.insert(std::make_pair(hit1d->geographicalId().rawId(),std::make_pair(
int(hit1d->cluster()->barycenter()),trackid)));
1141 }
else if(singlehit) {
1142 collection.insert(std::make_pair(singlehit->geographicalId().rawId(),std::make_pair(
int(singlehit->cluster()->barycenter()),trackid)));
1145 std::vector< const TrackingRecHit * > childs = multihit->
recHits();
1146 for(std::vector<const TrackingRecHit*>::const_iterator it=childs.begin();it!=childs.end();++it) {
1155 std::map<size_t,int>
output;
1156 uint32_t vertexid = firstVertex;
1157 for(reco::VertexCollection::const_iterator
v = vertices.begin();
v!=vertices.end(); ++
v,++vertexid) {
1160 for(;it!=lastTrack;++it) {
1161 output[it->key()] = vertexid;
1168 const std::vector<Trajectory>& trajVec )
1170 std::vector<std::pair<double,double> >
result;
1172 std::multimap<const uint32_t,std::pair<LocalPoint,std::pair<double,double> > > onTrackPositions;
1173 for(std::vector<Trajectory>::const_iterator traj = trajVec.begin(); traj< trajVec.end(); ++traj) {
1175 for(Trajectory::DataContainer::iterator meas = measurements.begin(); meas!= measurements.end(); ++meas) {
1176 LocalVector localDir = meas->updatedState().localDirection();
1177 double alpha = atan2(localDir.
z(), localDir.
x());
1178 double beta = atan2(localDir.
z(), localDir.
y());
1191 std::pair< std::multimap<uint32_t,std::pair<LocalPoint,std::pair<double, double> > >::const_iterator,
1192 std::multimap<uint32_t,std::pair<LocalPoint,std::pair<double, double> > >::const_iterator> range =
1193 onTrackPositions.equal_range(DSViter->id());
1195 for(std::multimap<uint32_t,std::pair<
LocalPoint,std::pair<double, double> > >::const_iterator
cl = range.first;
cl!= range.second; ++
cl) {
1198 alpha =
cl->second.second.first;
1199 beta =
cl->second.second.second;
1202 result.push_back(std::make_pair(alpha,beta));
1211 const TSiPixelRecHit* pixhit =
dynamic_cast<const TSiPixelRecHit*
>(hit);
1213 collection.insert(std::make_pair(pixhit->geographicalId().rawId(),std::make_pair(pixhit->localPosition(),std::make_pair(alpha,beta))));
1222 std::multimap<const uint32_t,std::pair<std::pair<float, float>,
int> > onTrackPositions;
1223 uint32_t trackid = firstTrack;
1224 for(reco::TrackCollection::const_iterator itTrack = trackVec.begin(); itTrack!=trackVec.end();++itTrack,++trackid) {
1231 int thetrackid = -1;
1237 std::pair< std::multimap<uint32_t,std::pair<std::pair<float, float>,
int> >::const_iterator,
1238 std::multimap<uint32_t,std::pair<std::pair<float, float>,
int> >::const_iterator> range =
1239 onTrackPositions.equal_range(DSViter->id());
1240 for(std::multimap<uint32_t,std::pair<std::pair<float, float>,
int> >::const_iterator
cl = range.first;
cl!= range.second; ++
cl) {
1241 if((fabs(
cl->second.first.first-iter->x())<2)&&(fabs(
cl->second.first.second-iter->y())<2)) {
1242 thetrackid =
cl->second.second;
1245 result.push_back(thetrackid);
1256 collection.insert(std::make_pair(pixhit->geographicalId().rawId(),std::make_pair(std::make_pair(pixhit->cluster()->x(),pixhit->cluster()->y()),trackid)));
1263 std::stringstream
output;
1270 output <<
" layer ";
1272 output <<
", string ";
1275 output <<
", module ";
1278 output <<
" (double)";
1280 output << (tib.
isRPhi() ?
" (rphi)" :
" (stereo)");
1291 output <<
", ring ";
1293 output << (tid.
isFrontRing() ?
" front" :
" back");
1294 output <<
", module ";
1297 output <<
" (double)";
1299 output << (tid.
isRPhi() ?
" (rphi)" :
" (stereo)");
1308 output <<
" layer ";
1312 output <<
", module ";
1315 output <<
" (double)";
1317 output << (tob.
isRPhi() ?
" (rphi)" :
" (stereo)");
1328 output <<
" sector ";
1330 output << (tec.
isFrontPetal() ?
" Front Petal" :
" Back Petal");
1331 output <<
", module ";
1335 output <<
" (double)";
1337 output << (tec.
isRPhi() ?
" (rphi)" :
" (stereo)");
1343 output <<
"UNKNOWN";
1352 std::stringstream
output;
1353 output << rawid <<
" (0x" << std::hex << rawid << std::dec <<
")";
1371 int latencyShift = latencyCode & 0x3f;
1372 if(latencyShift>32) latencyShift -=64;
1373 if((latencyCode>>6)==2) latencyShift -= 3;
1374 if((latencyCode>>6)==1) latencyShift += 3;
1375 float correctedDelay = delay - (latencyShift*25.);
1376 return correctedDelay;
1383 std::map<uint32_t,float> delayMap;
1385 for(std::vector<std::string>::const_iterator
file=files.begin();
file<files.end();++
file){
1387 std::ifstream cablingFile(
file->c_str());
1388 if(cablingFile.is_open()) {
1391 cablingFile.getline(buffer,1024);
1392 while(!cablingFile.eof()) {
1393 std::string
line(buffer);
1394 size_t pos = line.find(
"dcuid");
1396 if(pos != std::string::npos) {
1398 std::string dcuids = line.substr(pos+7,line.find(
" ",pos)-pos-8);
1399 std::istringstream dcuidstr(dcuids);
1400 dcuidstr >> std::hex >> dcuid;
1402 pos = line.find(
"difpll");
1403 std::string diffs = line.substr(pos+8,line.find(
" ",pos)-pos-9);
1404 std::istringstream diffstr(diffs);
1407 delayMap[dcuid] =
delay;
1410 cablingFile.getline(buffer,1024);
1413 edm::LogWarning(
"BadConfig") <<
" The delay file does not exist. The delay map will not be filled properly."
1414 << std::endl <<
" Looking for " <<
file->c_str() <<
"."
1415 << std::endl <<
" Please specify valid filenames through the DelayFileNames untracked parameter.";
uint8_t maxCharge() const
unsigned int rodNumber() const
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
T getParameter(std::string const &) const
EventNumber_t event() const
uint32_t foundhitsPixels_
T getUntrackedParameter(std::string const &, T const &) const
bool isDoubleSide() const
std::vector< TTree * > tracks_
std::vector< edm::InputTag > trackLabel_
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
unsigned int petalNumber() const
edm::InputTag dedx3Label_
edm::InputTag pixelclusterLabel_
std::string cablingFileName_
unsigned int stringNumber() const
std::string toStringName(uint32_t)
bool functionality_ontrackClusters_
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
trackRef_iterator tracks_end() const
last iterator over tracks
std::vector< int > onTrack(edm::Handle< edmNew::DetSetVector< SiStripCluster > > &, const reco::TrackCollection &, uint32_t)
double sumPtSquared(const reco::Vertex &)
static float planarity(const reco::TrackCollection &)
float noiseRescaledByGain() const
bool isDoubleSide() const
#define DEFINE_FWK_MODULE(type)
edm::InputTag dedx1Label_
const std::vector< std::string > & triggerNames() const
names of trigger paths
std::vector< Track > TrackCollection
collection of Tracks
Timestamp const & time() const
unsigned int ringNumber() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
unsigned int wheelNumber() const
float clCorrectedSignalOverNoise_
data_type const * const_iterator
edm::InputTag pixelVertexLabel_
uint16_t physicsDeclared_
static math::XYZTLorentzVectorF thrust(const reco::TrackCollection &)
std::string toStringId(uint32_t)
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
edm::ESHandle< TrackerGeometry > tracker_
int bunchCrossing() const
bool functionality_missingHits_
LuminosityBlockNumber_t luminosityBlock() const
unsigned int layerNumber() const
static float sphericity(const reco::TrackCollection &)
bool isExternalString() const
virtual const Topology & topology() const =0
std::vector< bool > DecisionWordExtended
float signalOverNoise() const
bool functionality_pixvertices_
float * lowPixelProbabilityFraction_
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
bool functionality_events_
std::vector< TrajectoryMeasurement > DataContainer
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
unsigned int layerNumber() const
uint32_t * globaltrackid_
uint32_t npixClustersOntrack_
std::vector< std::string > delayFileNames_
edm::InputTag clusterLabel_
Class containning control, module, detector and connection information, at the level of a FED channel...
edm::ESHandle< SiStripFedCabling > cabling_
std::vector< bool > DecisionWord
typedefs
void save(bool print_total=true, float minval=0., float maxval=0., std::string s="svgmap.svg", int width=1500, int height=800)
static const int nMaxPVs_
float clNormalizedCharge_
unsigned int moduleNumber() const
edm::InputTag dedx2Label_
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
static float aplanarity(const reco::TrackCollection &)
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
virtual const GeomDetType & type() const =0
std::vector< double > onTrackAngles(edm::Handle< edmNew::DetSetVector< SiStripCluster > > &, const std::vector< Trajectory > &)
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
HLTConfigProvider hltConfig_
std::multimap< const uint32_t, const FedChannelConnection * > connections_
unsigned int moduleNumber() const
void insertMeasurement(std::multimap< const uint32_t, std::pair< LocalPoint, double > > &, const TransientTrackingRecHit *, double)
Detector identifier class for the strip tracker.
EventAuxiliary const & eventAuxiliary() const
TimeValue_t value() const
SubDetector subDetector() const
TrackerDpgAnalysis(const edm::ParameterSet &)
edm::Service< TFileService > fileService
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
XYZPointD XYZPoint
point in space with cartesian internal representation
uint32_t foundhitsStrips_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
key_type key() const
Accessor for product key.
const DecisionWord & gtDecisionWord() const
get/set/print algorithms bits (decision word)
bool HLTDecisionBits_[256]
std::map< size_t, int > inVertex(const reco::TrackCollection &, const reco::VertexCollection &, uint32_t)
edm::InputTag vertexLabel_
bool functionality_vertices_
unsigned int ringNumber() const
bool L1TechnicalBits_[64]
float delay(const SiStripEventSummary &)
const BoundPlane & surface() const
The nominal surface of the GeomDet.
std::vector< TTree * > missingHits_
bool functionality_pixclusters_
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
T * make() const
make new ROOT object
bool isDoubleSide() const
virtual void analyze(const edm::Event &, const edm::EventSetup &)
virtual LocalPoint localPosition(float strip) const =0
void fill_current_val(int idmod, float current_val)
bool L1DecisionBits_[192]
bool isFrontPetal() const
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
uint32_t nclustersOntrack_
trackRef_iterator tracks_begin() const
first iterator over tracks
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< float > > XYZTLorentzVectorF
Lorentz vector with cylindrical internal representation using pseudorapidity.
unsigned int moduleNumber() const
bool functionality_offtrackClusters_
Power< A, B >::type pow(const A &a, const B &b)
bool functionality_tracks_
std::vector< std::string > hlNames_
bool isDoubleSide() const
unsigned int moduleNumber() const
unsigned int diskNumber() const
T angle(T x1, T y1, T z1, T x2, T y2, T z2)