131 std::map<uint32_t,float>
delay(
const std::vector<std::string>&);
145 std::multimap<const uint32_t,const FedChannelConnection*>
connections_;
235 ntracks_ =
new uint32_t[trackLabel_.size()];
236 ntrajs_ =
new uint32_t[trackLabel_.size()];
238 trackid_ =
new uint32_t[trackLabel_.size()];
241 for(
size_t i = 0;
i<trackLabel_.size();++
i) {
254 clusters_ = dir->
make<TTree>(
"clusters",
"cluster information");
255 clusters_->Branch(
"eventid",&
eventid_,
"eventid/i");
256 clusters_->Branch(
"runid",&
runid_,
"runid/i");
257 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
260 sprintf(buffer1,
"trackid%lu",(
unsigned long)
i);
261 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
262 clusters_->Branch(buffer1,
trackid_+i,buffer2);
264 clusters_->Branch(
"onTrack",&
onTrack_,
"onTrack/O");
265 clusters_->Branch(
"clWidth",&
clWidth_,
"clWidth/F");
266 clusters_->Branch(
"clPosition",&
clPosition_,
"clPosition/F");
267 clusters_->Branch(
"clglobalX",&
globalX_,
"clglobalX/F");
268 clusters_->Branch(
"clglobalY",&
globalY_,
"clglobalY/F");
269 clusters_->Branch(
"clglobalZ",&
globalZ_,
"clglobalZ/F");
270 clusters_->Branch(
"angle",&
angle_,
"angle/F");
271 clusters_->Branch(
"thickness",&
thickness_,
"thickness/F");
272 clusters_->Branch(
"maxCharge",&
maxCharge_,
"maxCharge/F");
278 clusters_->Branch(
"clBareCharge",&
clBareCharge_,
"clBareCharge/F");
279 clusters_->Branch(
"clBareNoise",&
clBareNoise_,
"clBareNoise/F");
280 clusters_->Branch(
"stripLength",&
stripLength_,
"stripLength/F");
281 clusters_->Branch(
"detid",&
detid_,
"detid/i");
282 clusters_->Branch(
"lldChannel",&
lldChannel_,
"lldChannel/s");
288 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
291 sprintf(buffer1,
"trackid%lu",(
unsigned long)
i);
292 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
311 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
314 sprintf(buffer1,
"tracks%lu",(
unsigned long)
i);
315 sprintf(buffer2,
"track%lu information",(
unsigned long)i);
316 TTree* thetracks_ = dir->
make<TTree>(buffer1,buffer2);
317 sprintf(buffer1,
"trackid%lu",(
unsigned long)i);
318 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
320 thetracks_->Branch(
"eventid",&
eventid_,
"eventid/i");
321 thetracks_->Branch(
"runid",&
runid_,
"runid/i");
322 thetracks_->Branch(
"chi2",&
chi2_,
"chi2/F");
323 thetracks_->Branch(
"eta",&
eta_,
"eta/F");
324 thetracks_->Branch(
"etaerr",&
etaerr_,
"etaerr/F");
325 thetracks_->Branch(
"phi",&
phi_,
"phi/F");
326 thetracks_->Branch(
"phierr",&
phierr_,
"phierr/F");
327 thetracks_->Branch(
"dedx1",&
dedx1_,
"dedx1/F");
328 thetracks_->Branch(
"dedx2",&
dedx2_,
"dedx2/F");
329 thetracks_->Branch(
"dedx3",&
dedx3_,
"dedx3/F");
330 thetracks_->Branch(
"dedxNoM",&
dedxNoM_,
"dedxNoM/i");
331 thetracks_->Branch(
"charge",&
charge_,
"charge/F");
332 thetracks_->Branch(
"quality",&
quality_,
"quality/i");
333 thetracks_->Branch(
"foundhits",&
foundhits_,
"foundhits/i");
334 thetracks_->Branch(
"lostHits",&
lostHits_,
"lostHits/i");
335 thetracks_->Branch(
"foundhitsStrips",&
foundhitsStrips_,
"foundhitsStrips/i");
336 thetracks_->Branch(
"foundhitsPixels",&
foundhitsPixels_,
"foundhitsPixels/i");
337 thetracks_->Branch(
"losthitsStrips",&
losthitsStrips_,
"losthitsStrips/i");
338 thetracks_->Branch(
"losthitsPixels",&
losthitsPixels_,
"losthitsPixels/i");
339 thetracks_->Branch(
"p",&
p_,
"p/F");
340 thetracks_->Branch(
"pt",&
pt_,
"pt/F");
341 thetracks_->Branch(
"pterr",&
pterr_,
"pterr/F");
342 thetracks_->Branch(
"ndof",&
ndof_,
"ndof/i");
343 thetracks_->Branch(
"dz",&
dz_,
"dz/F");
344 thetracks_->Branch(
"dzerr",&
dzerr_,
"dzerr/F");
345 thetracks_->Branch(
"dzCorr",&
dzCorr_,
"dzCorr/F");
346 thetracks_->Branch(
"dxy",&
dxy_,
"dxy/F");
347 thetracks_->Branch(
"dxyerr",&
dxyerr_,
"dxyerr/F");
348 thetracks_->Branch(
"dxyCorr",&
dxyCorr_,
"dxyCorr/F");
349 thetracks_->Branch(
"qoverp",&
qoverp_,
"qoverp/F");
350 thetracks_->Branch(
"xPCA",&
xPCA_,
"xPCA/F");
351 thetracks_->Branch(
"yPCA",&
yPCA_,
"yPCA/F");
352 thetracks_->Branch(
"zPCA",&
zPCA_,
"zPCA/F");
353 thetracks_->Branch(
"nLayers",&
nLayers_,
"nLayers/i");
354 thetracks_->Branch(
"trkWeightpvtx",&
trkWeightpvtx_,
"trkWeightpvtx/F");
355 thetracks_->Branch(
"vertexid",&
vertexid_,
"vertexid/i");
360 for(
size_t i = 0;
i<trackLabel_.size(); ++
i) {
363 sprintf(buffer1,
"misingHits%lu",(
unsigned long)
i);
364 sprintf(buffer2,
"missing hits from track collection %lu",(
unsigned long)i);
365 TTree* themissingHits_ = dir->
make<TTree>(buffer1,buffer2);
366 sprintf(buffer1,
"trackid%lu",(
unsigned long)i);
367 sprintf(buffer2,
"trackid%lu/i",(
unsigned long)i);
369 themissingHits_->Branch(
"eventid",&
eventid_,
"eventid/i");
370 themissingHits_->Branch(
"runid",&
runid_,
"runid/i");
371 themissingHits_->Branch(
"detid",&
detid_,
"detid/i");
372 themissingHits_->Branch(
"type",&
type_,
"type/i");
373 themissingHits_->Branch(
"localX",&
clPositionX_,
"localX/F");
374 themissingHits_->Branch(
"localY",&
clPositionY_,
"localY/F");
375 themissingHits_->Branch(
"globalX",&
globalX_,
"globalX/F");
376 themissingHits_->Branch(
"globalY",&
globalY_,
"globalY/F");
377 themissingHits_->Branch(
"globalZ",&
globalZ_,
"globalZ/F");
378 themissingHits_->Branch(
"measX",&
measX_,
"measX/F");
379 themissingHits_->Branch(
"measY",&
measY_,
"measY/F");
380 themissingHits_->Branch(
"errorX",&
errorX_,
"errorX/F");
381 themissingHits_->Branch(
"errorY",&
errorY_,
"errorY/F");
386 vertices_ = dir->
make<TTree>(
"vertices",
"vertex information");
417 event_ = dir->
make<TTree>(
"events",
"event information");
432 sprintf(buffer,
"ntracks[%lu]/i",(
unsigned long)trackLabel_.size());
433 event_->Branch(
"ntracks",ntracks_,buffer);
434 sprintf(buffer,
"ntrajs[%lu]/i",(
unsigned long)trackLabel_.size());
436 sprintf(buffer,
"lowPixelProbabilityFraction[%lu]/F",(
unsigned long)trackLabel_.size());
456 event_->Branch(
"MagneticField",&
fBz_,
"MagneticField/F");
499 using namespace reco;
532 for(
int bit=0;bit<128;++bit) {
536 for(
int bit=0;bit<64;++bit) {
540 for(
int bit=0;bit<64;++bit) {
547 size_t ntrh = trh->size();
548 for(
size_t bit=0;bit<256;++bit)
556 Point(recoBeamSpotHandle->x0(), recoBeamSpotHandle->y0(), recoBeamSpotHandle->z0()) :
558 if(recoBeamSpotHandle.isValid()) {
580 for(reco::VertexCollection::const_iterator
v=vertexColl.begin();
581 v!=vertexColl.end(); ++
v) {
611 std::vector<edm::Handle<reco::TrackCollection> > trackCollectionHandle;
621 std::vector<std::vector<Trajectory> > trajectoryCollection;
622 std::vector<edm::Handle<std::vector<Trajectory> > > trajectoryCollectionHandle;
623 trajectoryCollectionHandle.resize(
trackLabel_.size());
627 trajectoryCollection.push_back(*trajectoryCollectionHandle[
index].product());
632 std::vector<TrajTrackAssociationCollection> TrajToTrackMap;
635 try {iEvent.
getByLabel(*
label,trajTrackAssociationHandle);}
catch (...) {;}
636 TrajToTrackMap.push_back(*trajTrackAssociationHandle.product());
640 if(!(
trackCollection.size()>0 && trajectoryCollection.size()>0))
return;
643 std::vector<std::map<size_t,int> > trackVertices;
650 for(reco::VertexCollection::const_iterator
v=vertexColl.begin();
651 v!=vertexColl.end(); ++
v) {
669 for(reco::VertexCollection::const_iterator
v=pixelVertexColl.begin();
670 v!=pixelVertexColl.end(); ++
v) {
687 std::vector<double> clusterOntrackAngles =
onTrackAngles(clusters,trajectoryCollection[0]);
688 std::vector<std::pair<double,double> > pixclusterOntrackAngles =
onTrackAngles(pixelclusters,trajectoryCollection[0]);
706 std::vector< std::vector<int> > stripClusterOntrackIndices;
710 std::vector< std::vector<int> > pixelClusterOntrackIndices;
714 nclustersOntrack_ = count_if(stripClusterOntrackIndices[0].
begin(),stripClusterOntrackIndices[0].
end(),bind2nd(not_equal_to<int>(), -1));
715 npixClustersOntrack_ = count_if(pixelClusterOntrackIndices[0].
begin(),pixelClusterOntrackIndices[0].
end(),bind2nd(not_equal_to<int>(), -1));
719 uint32_t n_hits_barrel=0;
720 uint32_t n_hits_lowprob=0;
724 eta_ = itTrack->eta();
725 phi_ = itTrack->phi();
727 dedxNoM_ = dEdxTrack1[itTrack].numberOfMeasurements();
728 dedx1_ = dEdxTrack1[itTrack].dEdx();
729 dedx2_ = dEdxTrack2[itTrack].dEdx();
730 dedx3_ = dEdxTrack3[itTrack].dEdx();
747 chi2_ = itTrack->chi2();
748 ndof_ = (uint32_t)itTrack->ndof();
750 dzerr_ = itTrack->dzError();
752 dxy_ = itTrack->dxy();
755 pterr_ = itTrack->ptError();
759 xPCA_ = itTrack->vertex().x();
760 yPCA_ = itTrack->vertex().y();
761 zPCA_ = itTrack->vertex().z();
762 nLayers_ = uint32_t(itTrack->hitPattern().trackerLayersWithMeasurement());
764 if(vertexColl.size()>0 && !vertexColl.begin()->isFake()) {
772 std::map<size_t,int>::const_iterator theV = trackVertices[
coll].find(itTrack.
key());
773 vertexid_ = (theV!=trackVertices[
coll].end()) ? theV->second : 0;
777 for(Trajectory::DataContainer::const_iterator it = measurements.begin(); it!=measurements.end(); ++it) {
779 if(!rechit->isValid()) {
781 detid_ = rechit->geographicalId();
783 type_ = rechit->getType();
785 LocalPoint local = it->predictedState().localPosition();
789 GlobalPoint global = it->predictedState().globalPosition();
823 if(proba<=0.0) ++n_hits_lowprob;
835 std::vector<double>::const_iterator angleIt = clusterOntrackAngles.begin();
836 uint32_t localCounter = 0;
840 uint32_t
detid = DSViter->id();
847 trackid_[
i] = stripClusterOntrackIndices[
i][localCounter];
853 thickness_ = ((((DSViter->id()>>25)&0x7f)==0xd) ||
854 ((((DSViter->id()>>25)&0x7f)==0xe) && (((DSViter->id()>>5)&0x7)>4))) ? 500 : 300;
876 lldChannel_ = 1+(int(floor(iter->barycenter()))/256);
879 delete siStripClusterInfo;
886 std::vector<std::pair<double,double> >::const_iterator pixAngleIt = pixclusterOntrackAngles.begin();
891 uint32_t
detid = DSViter->id();
897 trackid_[
i] = pixelClusterOntrackIndices[
i][localCounter];
905 alpha_ = pixAngleIt->first;
906 beta_ = pixAngleIt->second;
907 charge_ = (iter->charge())/1000.;
955 for(std::vector<std::string>::const_iterator it =
hlNames_.begin(); it<
hlNames_.end();++it) {
956 std::cout << (i++) <<
" = " << (*it) << std::endl;
966 const std::vector< uint16_t > & feds =
cabling_->feds() ;
967 for(std::vector< uint16_t >::const_iterator fedid = feds.begin();fedid<feds.end();++fedid) {
968 const std::vector< FedChannelConnection > & connections =
cabling_->connections(*fedid);
969 for(std::vector< FedChannelConnection >::const_iterator conn=connections.begin();conn<connections.end();++conn) {
971 if(conn->isConnected())
974 if(conn->isConnected()) {
999 if(delayMap.size()) tmap.
save(
true, 0, 0,
"delaymap.png");
1003 if(cablingFile.is_open()) {
1005 cablingFile.getline(buffer,1024);
1006 while(!cablingFile.eof()) {
1007 std::istringstream
line(buffer);
1011 strncpy(
PSUname_,name.c_str(),256);
1012 while(!line.eof()) {
1016 cablingFile.getline(buffer,1024);
1019 edm::LogWarning(
"BadConfig") <<
" The PSU file does not exist. The psumap tree will not be filled."
1021 << std::endl <<
" Please specify a valid filename through the PSUFileName untracked parameter.";
1030 sprintf(buffer,
"trackid%lu",(
unsigned long)
i);
1031 if(
tracks_[i]->GetEntries())
tracks_[
i]->BuildIndex(buffer,
"eventid");
1041 if(
event_->GetEntries())
event_->BuildIndex(
"runid",
"eventid");
1047 const std::vector<Trajectory>& trajVec )
1049 std::vector<double>
result;
1051 std::multimap<const uint32_t,std::pair<LocalPoint,double> > onTrackPositions;
1052 for(std::vector<Trajectory>::const_iterator traj = trajVec.begin(); traj< trajVec.end(); ++traj) {
1054 for(Trajectory::DataContainer::iterator meas = measurements.begin(); meas!= measurements.end(); ++meas) {
1055 double tla = meas->updatedState().localDirection().theta();
1066 std::pair< std::multimap<uint32_t,std::pair<LocalPoint,double> >::const_iterator,
1067 std::multimap<uint32_t,std::pair<LocalPoint,double> >::const_iterator> range =
1068 onTrackPositions.equal_range(iter->geographicalId());
1070 for(std::multimap<uint32_t,std::pair<LocalPoint,double> >::const_iterator cl = range.first; cl!= range.second; ++cl) {
1072 angle = cl->second.second;
1075 result.push_back(angle);
1089 }
else if(singlehit) {
1093 std::vector< const TrackingRecHit * > childs = multihit->
recHits();
1094 for(std::vector<const TrackingRecHit*>::const_iterator it=childs.begin();it!=childs.end();++it) {
1105 std::multimap<const uint32_t,std::pair<int,int> > onTrackPositions;
1106 uint32_t trackid = firstTrack;
1107 for(reco::TrackCollection::const_iterator itTrack = trackVec.begin(); itTrack!=trackVec.end();++itTrack,++trackid) {
1114 int thetrackid = -1;
1120 std::pair< std::multimap<uint32_t,std::pair<int,int> >::const_iterator,
1121 std::multimap<uint32_t,std::pair<int,int> >::const_iterator> range =
1122 onTrackPositions.equal_range(iter->geographicalId());
1123 for(std::multimap<uint32_t,std::pair<int,int> >::const_iterator cl = range.first; cl!= range.second; ++cl) {
1124 if(fabs(cl->second.first-iter->barycenter())<2) {
1125 thetrackid = cl->second.second;
1128 result.push_back(thetrackid);
1142 }
else if(singlehit) {
1146 std::vector< const TrackingRecHit * > childs = multihit->
recHits();
1147 for(std::vector<const TrackingRecHit*>::const_iterator it=childs.begin();it!=childs.end();++it) {
1156 std::map<size_t,int>
output;
1157 uint32_t vertexid = firstVertex;
1158 for(reco::VertexCollection::const_iterator
v = vertices.begin();
v!=vertices.end(); ++
v,++vertexid) {
1161 for(;it!=lastTrack;++it) {
1162 output[it->key()] = vertexid;
1169 const std::vector<Trajectory>& trajVec )
1171 std::vector<std::pair<double,double> >
result;
1173 std::multimap<const uint32_t,std::pair<LocalPoint,std::pair<double,double> > > onTrackPositions;
1174 for(std::vector<Trajectory>::const_iterator traj = trajVec.begin(); traj< trajVec.end(); ++traj) {
1176 for(Trajectory::DataContainer::iterator meas = measurements.begin(); meas!= measurements.end(); ++meas) {
1177 LocalVector localDir = meas->updatedState().localDirection();
1178 double alpha = atan2(localDir.
z(), localDir.
x());
1179 double beta = atan2(localDir.
z(), localDir.
y());
1192 std::pair< std::multimap<uint32_t,std::pair<LocalPoint,std::pair<double, double> > >::const_iterator,
1193 std::multimap<uint32_t,std::pair<LocalPoint,std::pair<double, double> > >::const_iterator> range =
1194 onTrackPositions.equal_range(DSViter->id());
1196 for(std::multimap<uint32_t,std::pair<
LocalPoint,std::pair<double, double> > >::const_iterator cl = range.first; cl!= range.second; ++cl) {
1199 alpha = cl->second.second.first;
1200 beta = cl->second.second.second;
1203 result.push_back(std::make_pair(alpha,beta));
1223 std::multimap<const uint32_t,std::pair<std::pair<float, float>,
int> > onTrackPositions;
1224 uint32_t trackid = firstTrack;
1225 for(reco::TrackCollection::const_iterator itTrack = trackVec.begin(); itTrack!=trackVec.end();++itTrack,++trackid) {
1232 int thetrackid = -1;
1238 std::pair< std::multimap<uint32_t,std::pair<std::pair<float, float>,
int> >::const_iterator,
1239 std::multimap<uint32_t,std::pair<std::pair<float, float>,
int> >::const_iterator> range =
1240 onTrackPositions.equal_range(DSViter->id());
1241 for(std::multimap<uint32_t,std::pair<std::pair<float, float>,
int> >::const_iterator cl = range.first; cl!= range.second; ++cl) {
1242 if((fabs(cl->second.first.first-iter->x())<2)&&(fabs(cl->second.first.second-iter->y())<2)) {
1243 thetrackid = cl->second.second;
1246 result.push_back(thetrackid);
1264 std::stringstream
output;
1271 output <<
" layer ";
1273 output <<
", string ";
1276 output <<
", module ";
1279 output <<
" (double)";
1281 output << (tib.
isRPhi() ?
" (rphi)" :
" (stereo)");
1292 output <<
", ring ";
1294 output << (tid.
isFrontRing() ?
" front" :
" back");
1295 output <<
", module ";
1298 output <<
" (double)";
1300 output << (tid.
isRPhi() ?
" (rphi)" :
" (stereo)");
1309 output <<
" layer ";
1313 output <<
", module ";
1316 output <<
" (double)";
1318 output << (tob.
isRPhi() ?
" (rphi)" :
" (stereo)");
1329 output <<
" sector ";
1331 output << (tec.
isFrontPetal() ?
" Front Petal" :
" Back Petal");
1332 output <<
", module ";
1336 output <<
" (double)";
1338 output << (tec.
isRPhi() ?
" (rphi)" :
" (stereo)");
1344 output <<
"UNKNOWN";
1353 std::stringstream
output;
1354 output << rawid <<
" (0x" << std::hex << rawid << std::dec <<
")";
1372 int latencyShift = latencyCode & 0x3f;
1373 if(latencyShift>32) latencyShift -=64;
1374 if((latencyCode>>6)==2) latencyShift -= 3;
1375 if((latencyCode>>6)==1) latencyShift += 3;
1376 float correctedDelay = delay - (latencyShift*25.);
1377 return correctedDelay;
1384 std::map<uint32_t,float> delayMap;
1386 for(std::vector<std::string>::const_iterator
file=files.begin();
file<files.end();++
file){
1388 std::ifstream cablingFile(
file->c_str());
1389 if(cablingFile.is_open()) {
1392 cablingFile.getline(buffer,1024);
1393 while(!cablingFile.eof()) {
1394 std::string
line(buffer);
1395 size_t pos = line.find(
"dcuid");
1397 if(pos != std::string::npos) {
1399 std::string dcuids = line.substr(pos+7,line.find(
" ",pos)-pos-8);
1400 std::istringstream dcuidstr(dcuids);
1401 dcuidstr >> std::hex >> dcuid;
1403 pos = line.find(
"difpll");
1404 std::string diffs = line.substr(pos+8,line.find(
" ",pos)-pos-9);
1405 std::istringstream diffstr(diffs);
1408 delayMap[dcuid] =
delay;
1411 cablingFile.getline(buffer,1024);
1414 edm::LogWarning(
"BadConfig") <<
" The delay file does not exist. The delay map will not be filled properly."
1415 << std::endl <<
" Looking for " <<
file->c_str() <<
"."
1416 << std::endl <<
" Please specify valid filenames through the DelayFileNames untracked parameter.";
uint8_t maxCharge() const
virtual LocalPoint localPosition() 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
float clusterProbability(unsigned int flags=0) 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 &)
uint32_t rawId() const
get the raw id
bool isExternalString() const
virtual const Topology & topology() const =0
std::vector< bool > DecisionWordExtended
float signalOverNoise() const
bool functionality_pixvertices_
float * lowPixelProbabilityFraction_
virtual float stripLength() const =0
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)
virtual LocalPoint localPosition() const
Tan< T >::type tan(const T &t)
static float aplanarity(const reco::TrackCollection &)
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
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
virtual LocalPoint localPosition() 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)
ClusterRef const & cluster() const
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 &)
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
ClusterRef const & cluster() const
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
DetId geographicalId() const
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.
ClusterRef const & cluster() const
unsigned int moduleNumber() const
bool functionality_offtrackClusters_
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
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)