#include <DQM/SiStripMonitorTrack/interface/SiStripMonitorTrack.h>
Definition at line 50 of file SiStripMonitorTrack.h.
Definition at line 52 of file SiStripMonitorTrack.h.
SiStripMonitorTrack::SiStripMonitorTrack | ( | const edm::ParameterSet & | conf | ) | [explicit] |
Definition at line 27 of file SiStripMonitorTrack.cc.
References i, j, NClus, off_Flag, and OffHisto_On_.
00027 : 00028 dbe(edm::Service<DQMStore>().operator->()), 00029 conf_(conf), 00030 Cluster_src_( conf.getParameter<edm::InputTag>( "Cluster_src" ) ), 00031 Mod_On_(conf.getParameter<bool>("Mod_On")), 00032 Trend_On_(conf.getParameter<bool>("Trend_On")), 00033 OffHisto_On_(conf.getParameter<bool>("OffHisto_On")), 00034 RawDigis_On_(conf.getParameter<bool>("RawDigis_On")), 00035 CCAnalysis_On_(conf.getParameter<bool>("CCAnalysis_On")), 00036 folder_organizer(), tracksCollection_in_EventTree(true), 00037 flag_ring(conf.getParameter<bool>("RingFlag_On")), 00038 firstEvent(-1) 00039 { 00040 for(int i=0;i<4;++i) for(int j=0;j<2;++j) NClus[i][j]=0; 00041 if(OffHisto_On_){ 00042 off_Flag = 2; 00043 }else{ 00044 off_Flag = 1; 00045 } 00046 }
SiStripMonitorTrack::~SiStripMonitorTrack | ( | ) |
void SiStripMonitorTrack::AllClusters | ( | const edm::EventSetup & | es | ) | [private] |
Definition at line 730 of file SiStripMonitorTrack.cc.
References clusterInfos(), countOff, dsv_SiStripCluster, edmNew::DetSet< T >::end(), find(), LogDebug, LV, ModulesToBeExcluded_, and vPSiStripCluster.
Referenced by analyze().
00731 { 00732 00733 //Loop on Dets 00734 for ( edmNew::DetSetVector<SiStripCluster>::const_iterator DSViter=dsv_SiStripCluster->begin(); DSViter!=dsv_SiStripCluster->end();DSViter++){ 00735 uint32_t detid=DSViter->id(); 00736 if (find(ModulesToBeExcluded_.begin(),ModulesToBeExcluded_.end(),detid)!=ModulesToBeExcluded_.end()) continue; 00737 //Loop on Clusters 00738 edm::LogInfo("SiStripMonitorTrack") << "on detid "<< detid << " N Cluster= " << DSViter->size(); 00739 edmNew::DetSet<SiStripCluster>::const_iterator ClusIter = DSViter->begin(); 00740 for(; ClusIter!=DSViter->end(); ClusIter++) { 00741 SiStripClusterInfo* SiStripClusterInfo_= new SiStripClusterInfo(detid,*ClusIter,es); 00742 LogDebug("SiStripMonitorTrack") << "ClusIter " << &*ClusIter << "\t " 00743 << std::find(vPSiStripCluster.begin(),vPSiStripCluster.end(),&*ClusIter)-vPSiStripCluster.begin(); 00744 if (std::find(vPSiStripCluster.begin(),vPSiStripCluster.end(),&*ClusIter) == vPSiStripCluster.end()){ 00745 if ( clusterInfos(SiStripClusterInfo_,detid,"OffTrack",LV) ) { 00746 countOff++; 00747 } 00748 } 00749 delete SiStripClusterInfo_; 00750 } 00751 } 00752 }
void SiStripMonitorTrack::analyze | ( | const edm::Event & | e, | |
const edm::EventSetup & | es | |||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 74 of file SiStripMonitorTrack.cc.
References AllClusters(), Cluster_src_, conf_, countOff, countOn, reco_application_tbsim_simpleTBanalysis_cfg::digiProducer, dsv_SiStripCluster, dsv_SiStripRawDigi, lat::endl(), eventNb, edm::Handle< T >::failedToGet(), fillME(), fillTrend(), flags, edm::Event::getByLabel(), edm::ParameterSet::getParameter(), i, edm::Event::id(), edm::Handle< T >::isValid(), j, LayerMEsMap, LogDebug, MEMap, name, NClus, off_Flag, OffHisto_On_, RawDigis_On_, runNb, SubDet, TItkAssociatorCollection, trackAssociatorCollection_in_EventTree, trackCollection, tracksCollection_in_EventTree, trackStudy(), TrajectoryCollection, Trend_On_, and vPSiStripCluster.
00075 { 00076 00077 tracksCollection_in_EventTree=true; 00078 trackAssociatorCollection_in_EventTree=true; 00079 00080 //initialization of global quantities 00081 edm::LogInfo("SiStripMonitorTrack") << "[SiStripMonitorTrack::analyse] " << "Run " << e.id().run() << " Event " << e.id().event() << std::endl; 00082 runNb = e.id().run(); 00083 eventNb = e.id().event(); 00084 vPSiStripCluster.clear(); 00085 countOn=0; 00086 countOff=0; 00087 00088 e.getByLabel( Cluster_src_, dsv_SiStripCluster); 00089 00090 // track input 00091 std::string TrackProducer = conf_.getParameter<std::string>("TrackProducer"); 00092 std::string TrackLabel = conf_.getParameter<std::string>("TrackLabel"); 00093 00094 e.getByLabel(TrackProducer, TrackLabel, trackCollection);//takes the track collection 00095 00096 if (trackCollection.isValid()){ 00097 }else{ 00098 edm::LogError("SiStripMonitorTrack")<<" Track Collection is not valid !! " << TrackLabel<<std::endl; 00099 tracksCollection_in_EventTree=false; 00100 } 00101 00102 // get RawDigi collection 00103 if(RawDigis_On_) { 00104 std::string digiProducer = conf_.getParameter<std::string>("RawDigiProducer"); 00105 std::string digiLabel = conf_.getParameter<std::string>("RawDigiLabel"); 00106 e.getByLabel(digiProducer,digiLabel,dsv_SiStripRawDigi); 00107 if( ! dsv_SiStripRawDigi.failedToGet() ){ 00108 // digi check 00109 edm::LogInfo("SiStripMonitorTrack") << "[SiStripMonitorTrack::analyse] " << "Digi " << digiLabel 00110 << " found " << dsv_SiStripRawDigi->size() << "\n"; 00111 /* digi check 00112 for( edm::DetSetVector<SiStripRawDigi>::const_iterator iDigi = dsv_SiStripRawDigi->begin(); 00113 iDigi != dsv_SiStripRawDigi->end(); ++iDigi) 00114 edm::LogInfo("SiStripMonitorTrack") << "\n\t Digi in detid " << iDigi->detId() << ": " << iDigi->size(); 00115 */ 00116 }else{ 00117 LogDebug("SiStripMonitorTrack") << "RawDigis not found " << std::endl; 00118 } 00119 } else { 00120 LogDebug("SiStripMonitorTrack") << "RawDigis Off " << std::endl; 00121 } 00122 00123 // trajectory input 00124 e.getByLabel(TrackProducer, TrackLabel, TrajectoryCollection); 00125 e.getByLabel(TrackProducer, TrackLabel, TItkAssociatorCollection); 00126 if( TItkAssociatorCollection.isValid()){ 00127 }else{ 00128 edm::LogError("SiStripMonitorTrack")<<"Association not found "<<std::endl; 00129 trackAssociatorCollection_in_EventTree=false; 00130 } 00131 00132 //Perform track study 00133 if (tracksCollection_in_EventTree && trackAssociatorCollection_in_EventTree) trackStudy(es); 00134 00135 //Perform Cluster Study (irrespectively to tracks) 00136 00137 if(OffHisto_On_){ 00138 if (dsv_SiStripCluster.isValid()){ 00139 AllClusters(es);//analyzes the off Track Clusters 00140 }else{ 00141 edm::LogError("SiStripMonitorTrack")<< "ClusterCollection is not valid!!" << std::endl; 00142 } 00143 } 00144 00145 //Summary Counts of clusters 00146 std::map<TString, MonitorElement*>::iterator iME; 00147 std::map<TString, ModMEs>::iterator iModME ; 00148 std::map<TString, LayerMEs>::iterator iLayerME; 00149 00150 for (int j=0;j<off_Flag;++j){ // loop over ontrack, offtrack 00151 int nTot=0; 00152 for (int i=0;i<4;++i){ // loop over TIB, TID, TOB, TEC 00153 name=flags[j]+"_in_"+SubDet[i]; 00154 iLayerME = LayerMEsMap.find(name); 00155 if(iLayerME!=LayerMEsMap.end()) { 00156 if(flags[j]=="OnTrack" && NClus[i][j]){ 00157 fillME( iLayerME->second.nClusters, NClus[i][j]); 00158 }else if(flags[j]=="OffTrack"){ 00159 fillME( iLayerME->second.nClusters, NClus[i][j]); 00160 } 00161 if(Trend_On_) 00162 fillTrend(iLayerME->second.nClustersTrend, NClus[i][j]); 00163 } 00164 nTot+=NClus[i][j]; 00165 NClus[i][j]=0; 00166 } // loop over TIB, TID, TOB, TEC 00167 00168 name=flags[j]+"_TotalNumberOfClusters"; 00169 iME = MEMap.find(name); 00170 if(iME!=MEMap.end() && nTot) iME->second->Fill(nTot); 00171 if(Trend_On_){ 00172 iME = MEMap.find(name+"Trend"); 00173 if(iME!=MEMap.end()) fillTrend(iME->second,nTot); 00174 } 00175 } // loop over ontrack, offtrack 00176 00177 }
void SiStripMonitorTrack::beginRun | ( | const edm::Run & | run, | |
const edm::EventSetup & | c | |||
) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 54 of file SiStripMonitorTrack.cc.
References book(), lat::endl(), edm::EventSetup::get(), SiStripDetCabling_, and tkgeom.
00055 { 00056 //get geom 00057 es.get<TrackerDigiGeometryRecord>().get( tkgeom ); 00058 edm::LogInfo("SiStripMonitorTrack") << "[SiStripMonitorTrack::beginRun] There are "<<tkgeom->detUnits().size() <<" detectors instantiated in the geometry" << std::endl; 00059 es.get<SiStripDetCablingRcd>().get( SiStripDetCabling_ ); 00060 00061 book(); 00062 }
void SiStripMonitorTrack::book | ( | ) | [private] |
Definition at line 180 of file SiStripMonitorTrack.cc.
References bookME1D(), bookMETrend(), bookModMEs(), bookSubDetMEs(), bookTrendMEs(), DQMStore::cd(), conf_, dbe, DetectedLayers, lat::endl(), flag_ring, flags, folder_organizer, edm::ParameterSet::getParameter(), SiStripFolderOrganizer::GetSubDetAndLayer(), iter, j, python::multivaluedict::map(), MEMap, Mod_On_, name, off_Flag, edm::second(), DQMStore::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), SiStripDetCabling_, and Trend_On_.
Referenced by beginRun().
00181 { 00182 00183 std::vector<uint32_t> vdetId_; 00184 SiStripDetCabling_->addActiveDetectorsRawIds(vdetId_); 00185 //Histos for each detector, layer and module 00186 for (std::vector<uint32_t>::const_iterator detid_iter=vdetId_.begin();detid_iter!=vdetId_.end();detid_iter++){ //loop on all the active detid 00187 uint32_t detid = *detid_iter; 00188 00189 if (detid < 1){ 00190 edm::LogError("SiStripMonitorTrack")<< "[" <<__PRETTY_FUNCTION__ << "] invalid detid " << detid<< std::endl; 00191 continue; 00192 } 00193 00194 // set the DQM directory 00195 std::string MEFolderName = conf_.getParameter<std::string>("FolderName"); 00196 dbe->setCurrentFolder(MEFolderName); 00197 00198 for (int j=0;j<off_Flag;j++) { // Loop on onTrack, offTrack 00199 name=flags[j]+"_TotalNumberOfClusters"; 00200 if(MEMap.find(name)==MEMap.end()) { 00201 if(flags[j] == "OnTrack"){ 00202 MEMap[name]=bookME1D("TH1nClustersOn", name.Data()); 00203 }else{ 00204 MEMap[name]=bookME1D("TH1nClustersOff", name.Data()); 00205 } 00206 if(Trend_On_){ 00207 name+="Trend"; 00208 if(flags[j] == "OnTrack"){ 00209 MEMap[name]=bookMETrend("TH1nClustersOn", name.Data()); 00210 }else{ 00211 MEMap[name]=bookMETrend("TH1nClustersOff", name.Data()); 00212 } 00213 } 00214 } 00215 }// End Loop on onTrack, offTrack 00216 00217 // LogTrace("SiStripMonitorTrack") << " Detid " << *detid 00218 // << " SubDet " << GetSubDetAndLayer(*detid).first 00219 // << " Layer " << GetSubDetAndLayer(*detid).second; 00220 00221 00222 // book Layer and RING plots 00223 if (DetectedLayers.find(folder_organizer.GetSubDetAndLayer(detid,flag_ring)) == DetectedLayers.end()){ 00224 00225 DetectedLayers[folder_organizer.GetSubDetAndLayer(detid,flag_ring)]=true; 00226 for (int j=0;j<off_Flag;j++){ 00227 folder_organizer.setLayerFolder(*detid_iter,folder_organizer.GetSubDetAndLayer(*detid_iter,flag_ring).second,flag_ring); 00228 bookTrendMEs("layer",(folder_organizer.GetSubDetAndLayer(*detid_iter,flag_ring)).second,*detid_iter,flags[j]); 00229 } 00230 } 00231 00232 if(Mod_On_){ 00233 // book module plots 00234 folder_organizer.setDetectorFolder(*detid_iter); 00235 bookModMEs("det",*detid_iter); 00236 } 00237 00238 DetectedLayers[folder_organizer.GetSubDetAndLayer(*detid_iter,flag_ring)] |= (DetectedLayers.find(folder_organizer.GetSubDetAndLayer(*detid_iter,flag_ring)) == DetectedLayers.end()); 00239 }//end loop on detectors detid 00240 00241 // book SubDet plots 00242 for (std::map<std::pair<std::string,int32_t>,bool>::const_iterator iter=DetectedLayers.begin(); iter!=DetectedLayers.end();iter++){ 00243 for (int j=0;j<off_Flag;j++){ // Loop on onTrack, offTrack 00244 folder_organizer.setDetectorFolder(0); 00245 dbe->cd("SiStrip/MechanicalView/"+iter->first.first); 00246 name=flags[j]+"_in_"+iter->first.first; 00247 bookSubDetMEs(name,flags[j]); //for subdets 00248 }//end loop on onTrack,offTrack 00249 } 00250 00251 }
MonitorElement * SiStripMonitorTrack::bookME1D | ( | const char * | ParameterSetLabel, | |
const char * | HistoName | |||
) | [private] |
Definition at line 519 of file SiStripMonitorTrack.cc.
References DQMStore::book1D(), conf_, dbe, edm::ParameterSet::getParameter(), and Parameters.
Referenced by book(), bookModMEs(), bookSubDetMEs(), and bookTrendMEs().
00520 { 00521 Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel); 00522 return dbe->book1D(HistoName,HistoName, 00523 Parameters.getParameter<int32_t>("Nbinx"), 00524 Parameters.getParameter<double>("xmin"), 00525 Parameters.getParameter<double>("xmax") 00526 ); 00527 }
MonitorElement * SiStripMonitorTrack::bookME2D | ( | const char * | ParameterSetLabel, | |
const char * | HistoName | |||
) | [private] |
Definition at line 530 of file SiStripMonitorTrack.cc.
References DQMStore::book2D(), conf_, dbe, edm::ParameterSet::getParameter(), and Parameters.
00531 { 00532 Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel); 00533 return dbe->book2D(HistoName,HistoName, 00534 Parameters.getParameter<int32_t>("Nbinx"), 00535 Parameters.getParameter<double>("xmin"), 00536 Parameters.getParameter<double>("xmax"), 00537 Parameters.getParameter<int32_t>("Nbiny"), 00538 Parameters.getParameter<double>("ymin"), 00539 Parameters.getParameter<double>("ymax") 00540 ); 00541 }
MonitorElement * SiStripMonitorTrack::bookME3D | ( | const char * | ParameterSetLabel, | |
const char * | HistoName | |||
) | [private] |
Definition at line 544 of file SiStripMonitorTrack.cc.
References DQMStore::book3D(), conf_, dbe, edm::ParameterSet::getParameter(), and Parameters.
00545 { 00546 Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel); 00547 return dbe->book3D(HistoName,HistoName, 00548 Parameters.getParameter<int32_t>("Nbinx"), 00549 Parameters.getParameter<double>("xmin"), 00550 Parameters.getParameter<double>("xmax"), 00551 Parameters.getParameter<int32_t>("Nbiny"), 00552 Parameters.getParameter<double>("ymin"), 00553 Parameters.getParameter<double>("ymax"), 00554 Parameters.getParameter<int32_t>("Nbinz"), 00555 Parameters.getParameter<double>("zmin"), 00556 Parameters.getParameter<double>("zmax") 00557 ); 00558 }
MonitorElement * SiStripMonitorTrack::bookMEProfile | ( | const char * | ParameterSetLabel, | |
const char * | HistoName | |||
) | [private] |
Definition at line 561 of file SiStripMonitorTrack.cc.
References DQMStore::bookProfile(), conf_, dbe, edm::ParameterSet::getParameter(), and Parameters.
Referenced by bookModMEs().
00562 { 00563 Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel); 00564 return dbe->bookProfile(HistoName,HistoName, 00565 Parameters.getParameter<int32_t>("Nbinx"), 00566 Parameters.getParameter<double>("xmin"), 00567 Parameters.getParameter<double>("xmax"), 00568 Parameters.getParameter<int32_t>("Nbiny"), 00569 Parameters.getParameter<double>("ymin"), 00570 Parameters.getParameter<double>("ymax"), 00571 "" ); 00572 }
MonitorElement * SiStripMonitorTrack::bookMETrend | ( | const char * | ParameterSetLabel, | |
const char * | HistoName | |||
) | [private] |
Definition at line 575 of file SiStripMonitorTrack.cc.
References DQMStore::bookProfile(), conf_, dbe, edm::ParameterSet::getParameter(), me, and Parameters.
Referenced by book(), bookSubDetMEs(), and bookTrendMEs().
00576 { 00577 Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel); 00578 edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending"); 00579 MonitorElement* me = dbe->bookProfile(HistoName,HistoName, 00580 ParametersTrend.getParameter<int32_t>("Nbins"), 00581 0, 00582 ParametersTrend.getParameter<int32_t>("Nbins"), 00583 100, //that parameter should not be there !? 00584 Parameters.getParameter<double>("xmin"), 00585 Parameters.getParameter<double>("xmax"), 00586 "" ); 00587 if(!me) return me; 00588 char buffer[256]; 00589 sprintf(buffer,"EventId/%d",ParametersTrend.getParameter<int32_t>("Steps")); 00590 me->setAxisTitle(std::string(buffer),1); 00591 return me; 00592 }
void SiStripMonitorTrack::bookModMEs | ( | TString | name, | |
uint32_t | id | |||
) | [private] |
Definition at line 254 of file SiStripMonitorTrack.cc.
References DQMStore::book1D(), bookME1D(), bookMEProfile(), SiStripMonitorTrack::ModMEs::ClusterCharge, SiStripMonitorTrack::ModMEs::ClusterChargeCorr, SiStripMonitorTrack::ModMEs::ClusterPGV, SiStripMonitorTrack::ModMEs::ClusterPos, SiStripMonitorTrack::ModMEs::ClusterStoN, SiStripMonitorTrack::ModMEs::ClusterStoNCorr, SiStripMonitorTrack::ModMEs::ClusterWidth, SiStripHistoId::createHistoId(), dbe, ModMEsMap, SiStripDetCabling_, and DQMStore::tag().
Referenced by book().
00255 { 00256 SiStripHistoId hidmanager; 00257 std::string hid = hidmanager.createHistoId("",name.Data(),id); 00258 std::map<TString, ModMEs>::iterator iModME = ModMEsMap.find(TString(hid)); 00259 if(iModME==ModMEsMap.end()){ 00260 ModMEs theModMEs; 00261 // Cluster Width 00262 theModMEs.ClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoId("ClusterWidth_OnTrack",name.Data(),id).c_str()); 00263 dbe->tag(theModMEs.ClusterWidth,id); 00264 // Cluster Charge 00265 theModMEs.ClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoId("ClusterCharge_OnTrack",name.Data(),id).c_str()); 00266 dbe->tag(theModMEs.ClusterCharge,id); 00267 // Cluster StoN 00268 theModMEs.ClusterStoN=bookME1D("TH1ClusterStoN", hidmanager.createHistoId("ClusterStoN_OnTrack",name.Data(),id).c_str()); 00269 dbe->tag(theModMEs.ClusterStoN,id); 00270 // Cluster Charge Corrected 00271 theModMEs.ClusterChargeCorr=bookME1D("TH1ClusterChargeCorr", hidmanager.createHistoId("ClusterChargeCorr_OnTrack",name.Data(),id).c_str()); 00272 dbe->tag(theModMEs.ClusterChargeCorr,id); 00273 // Cluster StoN Corrected 00274 theModMEs.ClusterStoNCorr=bookME1D("TH1ClusterStoNCorr", hidmanager.createHistoId("ClusterStoNCorr_OnTrack",name.Data(),id).c_str()); 00275 dbe->tag(theModMEs.ClusterStoNCorr,id); 00276 // Cluster Position 00277 short total_nr_strips = SiStripDetCabling_->nApvPairs(id) * 2 * 128; 00278 theModMEs.ClusterPos=dbe->book1D(hidmanager.createHistoId("ClusterPosition_OnTrack",name.Data(),id).c_str(),hidmanager.createHistoId("ClusterPosition_OnTrack",name.Data(),id).c_str(),total_nr_strips,0.5,total_nr_strips+0.5); 00279 dbe->tag(theModMEs.ClusterPos,id); 00280 // Cluster PGV 00281 theModMEs.ClusterPGV=bookMEProfile("TProfileClusterPGV", hidmanager.createHistoId("PGV_OnTrack",name.Data(),id).c_str()); 00282 dbe->tag(theModMEs.ClusterPGV,id); 00283 // Symmetric Eta function Eta=(L+R)/(2C) (Capacitive Coupling) 00284 // theModMEs.ClusterSymmEtaCC=bookME1D("TH1ClusterSymmEtaCC", hidmanager.createHistoId("ClusterSymmEtaCC",name.Data(),id).c_str()); 00285 // dbe->tag(theModMEs.ClusterSymmEtaCC,id); 00286 //bookeeping 00287 ModMEsMap[hid]=theModMEs; 00288 } 00289 }
void SiStripMonitorTrack::bookSubDetMEs | ( | TString | name, | |
TString | flag | |||
) | [private] |
Definition at line 416 of file SiStripMonitorTrack.cc.
References bookME1D(), bookMETrend(), CCAnalysis_On_, SiStripMonitorTrack::LayerMEs::ClusterCharge, SiStripMonitorTrack::LayerMEs::ClusterChargeCorr, SiStripMonitorTrack::LayerMEs::ClusterChargeCorrTrend, SiStripMonitorTrack::LayerMEs::ClusterChargeTrend, SiStripMonitorTrack::LayerMEs::ClusterEstimatorCC, SiStripMonitorTrack::LayerMEs::ClusterNoise, SiStripMonitorTrack::LayerMEs::ClusterNoiseTrend, SiStripMonitorTrack::LayerMEs::ClusterStoN, SiStripMonitorTrack::LayerMEs::ClusterStoNCorr, SiStripMonitorTrack::LayerMEs::ClusterStoNCorrTrend, SiStripMonitorTrack::LayerMEs::ClusterStoNTrend, SiStripMonitorTrack::LayerMEs::ClusterSymmEtaCC, SiStripMonitorTrack::LayerMEs::ClusterSymmEtaCCTrend, SiStripMonitorTrack::LayerMEs::ClusterWidth, SiStripMonitorTrack::LayerMEs::ClusterWidthCC, SiStripMonitorTrack::LayerMEs::ClusterWidthTrend, MonitorElement::getTH1(), LayerMEsMap, SiStripMonitorTrack::LayerMEs::nClusters, SiStripMonitorTrack::LayerMEs::nClustersTrend, and Trend_On_.
Referenced by book().
00417 { 00418 std::map<TString, LayerMEs>::iterator iLayerME = LayerMEsMap.find(name); 00419 char completeName[1024]; 00420 if(iLayerME==LayerMEsMap.end()){ 00421 LayerMEs theLayerMEs; 00422 00423 // TotalNumber of Cluster 00424 00425 if (flag=="OnTrack"){ 00426 sprintf(completeName,"Summary_TotalNumberOfClusters_%s",name.Data()); 00427 theLayerMEs.nClusters=bookME1D("TH1nClustersOn", completeName); 00428 theLayerMEs.nClusters->getTH1()->StatOverflows(kTRUE); 00429 }else{ 00430 sprintf(completeName,"Summary_TotalNumberOfClusters_%s",name.Data()); 00431 theLayerMEs.nClusters=bookME1D("TH1nClustersOff", completeName); 00432 theLayerMEs.nClusters->getTH1()->StatOverflows(kTRUE); 00433 } 00434 00435 // Cluster Width 00436 sprintf(completeName,"Summary_ClusterWidth_%s",name.Data()); 00437 theLayerMEs.ClusterWidth=bookME1D("TH1ClusterWidth", completeName); 00438 00439 // Cluster Noise 00440 sprintf(completeName,"Summary_ClusterNoise_%s",name.Data()); 00441 theLayerMEs.ClusterNoise=bookME1D("TH1ClusterNoise", completeName); 00442 00443 // Cluster Charge 00444 sprintf(completeName,"Summary_ClusterCharge_%s",name.Data()); 00445 theLayerMEs.ClusterCharge=bookME1D("TH1ClusterCharge", completeName); 00446 00447 // Cluster StoN 00448 sprintf(completeName,"Summary_ClusterStoN_%s",name.Data()); 00449 theLayerMEs.ClusterStoN=bookME1D("TH1ClusterStoN", completeName); 00450 00451 00452 if(Trend_On_){ 00453 if (flag=="OnTrack"){ 00454 // TotalNumber of Cluster 00455 sprintf(completeName,"Trend_TotalNumberOfClusters_%s",name.Data()); 00456 theLayerMEs.nClustersTrend=bookMETrend("TH1nClustersOn", completeName); 00457 }else{ 00458 sprintf(completeName,"Trend_TotalNumberOfClusters_%s",name.Data()); 00459 theLayerMEs.nClustersTrend=bookMETrend("TH1nClustersOff", completeName); 00460 } 00461 // Cluster Width 00462 sprintf(completeName,"Trend_ClusterWidth_%s",name.Data()); 00463 theLayerMEs.ClusterWidthTrend=bookMETrend("TH1ClusterWidth", completeName); 00464 // Cluster Noise 00465 sprintf(completeName,"Trend_ClusterNoise_%s",name.Data()); 00466 theLayerMEs.ClusterNoiseTrend=bookMETrend("TH1ClusterNoise", completeName); 00467 // Cluster Charge 00468 sprintf(completeName,"Trend_ClusterCharge_%s",name.Data()); 00469 theLayerMEs.ClusterChargeTrend=bookMETrend("TH1ClusterCharge", completeName); 00470 // Cluster StoN 00471 sprintf(completeName,"Trend_ClusterStoN_%s",name.Data()); 00472 theLayerMEs.ClusterStoNTrend=bookMETrend("TH1ClusterStoN", completeName); 00473 } 00474 00475 if (flag=="OnTrack"){ 00476 //Cluster StoNCorr 00477 sprintf(completeName,"Summary_ClusterStoNCorr_%s",name.Data()); 00478 theLayerMEs.ClusterStoNCorr=bookME1D("TH1ClusterStoNCorr", completeName); 00479 00480 // Cluster ChargeCorr 00481 sprintf(completeName,"Summary_ClusterChargeCorr_%s",name.Data()); 00482 theLayerMEs.ClusterChargeCorr=bookME1D("TH1ClusterChargeCorr", completeName); 00483 00484 // Symmetric Eta function Eta=(L+R)/(2C) (Capacitive Coupling) 00485 sprintf(completeName,"Summary_ClusterSymmEtaCC_%s",name.Data()); 00486 theLayerMEs.ClusterSymmEtaCC=bookME1D("TH1ClusterSymmEtaCC", completeName); 00487 00488 // Histograms booked and filled only if Charge Coupling Analysis is selected 00489 if(CCAnalysis_On_) { 00490 // Cluster Width (perpendicular tracks, Capacitive Coupling analysis) 00491 sprintf(completeName,"Summary_ClusterWidthCC_%s",name.Data()); 00492 theLayerMEs.ClusterWidthCC=bookME1D("TH1ClusterWidthCC", completeName); 00493 // Charge Coupling Estimator x=Eta/(1+2xEta) (Capacitive Coupling analysis) 00494 sprintf(completeName,"Summary_ClusterEstimatorCC_%s",name.Data()); 00495 theLayerMEs.ClusterEstimatorCC=bookME1D("TH1ClusterEstimatorCC", completeName); 00496 } 00497 00498 if(Trend_On_){ 00499 // Cluster StoNCorr 00500 sprintf(completeName,"Trend_ClusterStoNCorr_%s",name.Data()); 00501 theLayerMEs.ClusterStoNCorrTrend=bookMETrend("TH1ClusterStoNCorr", completeName); 00502 // Cluster ChargeCorr 00503 sprintf(completeName,"Trend_ClusterChargeCorr_%s",name.Data()); 00504 theLayerMEs.ClusterChargeCorrTrend=bookMETrend("TH1ClusterChargeCorr", completeName); 00505 // Cluster Eta function 00506 sprintf(completeName,"Trend_ClusterSymmEtaCC_%s",name.Data()); 00507 theLayerMEs.ClusterSymmEtaCCTrend=bookMETrend("TH1ClusterSymmEtaCC", completeName); 00508 00509 00510 } 00511 } 00512 00513 //bookeeping 00514 LayerMEsMap[name]=theLayerMEs; 00515 } 00516 }
void SiStripMonitorTrack::bookTrendMEs | ( | TString | name, | |
int32_t | layer, | |||
uint32_t | id, | |||
std::string | flag | |||
) | [private] |
Definition at line 291 of file SiStripMonitorTrack.cc.
References DQMStore::book1D(), bookME1D(), bookMETrend(), CCAnalysis_On_, SiStripMonitorTrack::LayerMEs::ClusterCharge, SiStripMonitorTrack::LayerMEs::ClusterChargeCorr, SiStripMonitorTrack::LayerMEs::ClusterChargeCorrTrend, SiStripMonitorTrack::LayerMEs::ClusterChargeTrend, SiStripMonitorTrack::LayerMEs::ClusterEstimatorCC, SiStripMonitorTrack::LayerMEs::ClusterNoise, SiStripMonitorTrack::LayerMEs::ClusterNoiseTrend, SiStripMonitorTrack::LayerMEs::ClusterPos, SiStripMonitorTrack::LayerMEs::ClusterStoN, SiStripMonitorTrack::LayerMEs::ClusterStoNCorr, SiStripMonitorTrack::LayerMEs::ClusterStoNCorrTrend, SiStripMonitorTrack::LayerMEs::ClusterStoNTrend, SiStripMonitorTrack::LayerMEs::ClusterSymmEtaCC, SiStripMonitorTrack::LayerMEs::ClusterSymmEtaCCTrend, SiStripMonitorTrack::LayerMEs::ClusterWidth, SiStripMonitorTrack::LayerMEs::ClusterWidthCC, SiStripMonitorTrack::LayerMEs::ClusterWidthTrend, SiStripHistoId::createHistoLayer(), dbe, lat::endl(), flag_ring, TIBDetId::layer(), TOBDetId::layer(), LayerMEsMap, TIDDetId::ring(), TECDetId::ring(), TIDDetId::side(), TECDetId::side(), SiStripDetCabling_, DQMStore::tag(), Trend_On_, TIDDetId::wheel(), and TECDetId::wheel().
Referenced by book().
00292 { 00293 char rest[1024]; 00294 int subdetid = ((id>>25)&0x7); 00295 if( subdetid==3 ){ 00296 // --------------------------- TIB --------------------------- // 00297 TIBDetId tib1 = TIBDetId(id); 00298 sprintf(rest,"TIB__layer__%d",tib1.layer()); 00299 }else if( subdetid==4){ 00300 // --------------------------- TID --------------------------- // 00301 TIDDetId tid1 = TIDDetId(id); 00302 sprintf(rest,"TID__side__%d__wheel__%d",tid1.side(),tid1.wheel()); 00303 }else if( subdetid==5){ 00304 // --------------------------- TOB --------------------------- // 00305 TOBDetId tob1 = TOBDetId(id); 00306 sprintf(rest,"TOB__layer__%d",tob1.layer()); 00307 }else if( subdetid==6){ 00308 // --------------------------- TEC --------------------------- // 00309 TECDetId tec1 = TECDetId(id); 00310 sprintf(rest,"TEC__side__%d__wheel__%d",tec1.side(),tec1.wheel()); 00311 }else{ 00312 // --------------------------- ??? --------------------------- // 00313 edm::LogError("SiStripTkDQM|WrongInput")<<"no such subdetector type :"<<subdetid<<" no folder set!"<<std::endl; 00314 return; 00315 } 00316 00317 if(flag_ring){ 00318 if( subdetid==4){ 00319 // --------------------------- TID --------------------------- // 00320 TIDDetId tid1 = TIDDetId(id); 00321 sprintf(rest,"TID__side__%d__ring__%d",tid1.side(),tid1.ring()); 00322 }else if( subdetid==6){ 00323 // --------------------------- TEC --------------------------- // 00324 TECDetId tec1 = TECDetId(id); 00325 sprintf(rest,"TEC__side__%d__ring__%d",tec1.side(),tec1.ring()); 00326 } 00327 } 00328 00329 00330 SiStripHistoId hidmanager; 00331 std::string hid = hidmanager.createHistoLayer("",name.Data(),rest,flag); 00332 std::map<TString, LayerMEs>::iterator iLayerME = LayerMEsMap.find(TString(hid)); 00333 if(iLayerME==LayerMEsMap.end()){ 00334 LayerMEs theLayerMEs; 00335 00336 // Cluster Width 00337 theLayerMEs.ClusterWidth=bookME1D("TH1ClusterWidth", hidmanager.createHistoLayer("Summary_ClusterWidth",name.Data(),rest,flag).c_str()); 00338 dbe->tag(theLayerMEs.ClusterWidth,layer); 00339 00340 // Cluster Noise 00341 theLayerMEs.ClusterNoise=bookME1D("TH1ClusterNoise", hidmanager.createHistoLayer("Summary_ClusterNoise",name.Data(),rest,flag).c_str()); 00342 dbe->tag(theLayerMEs.ClusterNoise,layer); 00343 00344 // Cluster Charge 00345 theLayerMEs.ClusterCharge=bookME1D("TH1ClusterCharge", hidmanager.createHistoLayer("Summary_ClusterCharge",name.Data(),rest,flag).c_str()); 00346 dbe->tag(theLayerMEs.ClusterCharge,layer); 00347 00348 // Cluster StoN 00349 theLayerMEs.ClusterStoN=bookME1D("TH1ClusterStoN", hidmanager.createHistoLayer("Summary_ClusterStoN",name.Data(),rest,flag).c_str()); 00350 dbe->tag(theLayerMEs.ClusterStoN,layer); 00351 00352 // Trends 00353 if(Trend_On_){ 00354 // Cluster Width 00355 theLayerMEs.ClusterWidthTrend=bookMETrend("TH1ClusterWidth", hidmanager.createHistoLayer("Trend_ClusterWidth",name.Data(),rest,flag).c_str()); 00356 dbe->tag(theLayerMEs.ClusterWidthTrend,layer); 00357 // Cluster Noise 00358 theLayerMEs.ClusterNoiseTrend=bookMETrend("TH1ClusterNoise", hidmanager.createHistoLayer("Trend_ClusterNoise",name.Data(),rest,flag).c_str()); 00359 dbe->tag(theLayerMEs.ClusterNoiseTrend,layer); 00360 // Cluster Charge 00361 theLayerMEs.ClusterChargeTrend=bookMETrend("TH1ClusterCharge", hidmanager.createHistoLayer("Trend_ClusterCharge",name.Data(),rest,flag).c_str()); 00362 dbe->tag(theLayerMEs.ClusterChargeTrend,layer); 00363 // Cluster StoN 00364 theLayerMEs.ClusterStoNTrend=bookMETrend("TH1ClusterStoN", hidmanager.createHistoLayer("Trend_ClusterStoN",name.Data(),rest,flag).c_str()); 00365 dbe->tag(theLayerMEs.ClusterStoNTrend,layer); 00366 } 00367 00368 if(flag=="OnTrack"){ 00369 // Cluster Charge Corrected 00370 theLayerMEs.ClusterChargeCorr=bookME1D("TH1ClusterChargeCorr", hidmanager.createHistoLayer("Summary_ClusterChargeCorr",name.Data(),rest,flag).c_str()); 00371 dbe->tag(theLayerMEs.ClusterChargeCorr,layer); 00372 // Cluster StoN Corrected 00373 theLayerMEs.ClusterStoNCorr=bookME1D("TH1ClusterStoNCorr", hidmanager.createHistoLayer("Summary_ClusterStoNCorr",name.Data(),rest,flag).c_str()); 00374 dbe->tag(theLayerMEs.ClusterStoNCorr,layer); 00375 // Symmetric Eta function Eta=(L+R)/(2C) (Capacitive Coupling) 00376 theLayerMEs.ClusterSymmEtaCC=bookME1D("TH1ClusterSymmEtaCC", hidmanager.createHistoLayer("Summary_ClusterSymmEtaCC",name.Data(),rest,flag).c_str()); 00377 dbe->tag(theLayerMEs.ClusterSymmEtaCC,layer); 00378 00379 // Histograms booked and filled only if Charge Coupling Analysis is selected 00380 if(CCAnalysis_On_) { 00381 // Cluster Width (perpendicular tracks, Capacitive Coupling analysis) 00382 theLayerMEs.ClusterWidthCC=bookME1D("TH1ClusterWidthCC", hidmanager.createHistoLayer("Summary_ClusterWidthCC",name.Data(),rest,flag).c_str()); 00383 dbe->tag(theLayerMEs.ClusterWidthCC,layer); 00384 // Charge Coupling Estimator x=Eta/(1+2xEta) (Capacitive Coupling analysis) 00385 theLayerMEs.ClusterEstimatorCC=bookME1D("TH1ClusterEstimatorCC", hidmanager.createHistoLayer("Summary_ClusterEstimatorCC",name.Data(),rest,flag).c_str()); 00386 dbe->tag(theLayerMEs.ClusterEstimatorCC,layer); 00387 } 00388 00389 if(Trend_On_){ 00390 // Cluster Charge Corrected 00391 theLayerMEs.ClusterChargeCorrTrend=bookMETrend("TH1ClusterChargeCorr", hidmanager.createHistoLayer("Trend_ClusterChargeCorr",name.Data(),rest,flag).c_str()); 00392 dbe->tag(theLayerMEs.ClusterChargeCorrTrend,layer); 00393 00394 // Cluster StoN Corrected 00395 theLayerMEs.ClusterStoNCorrTrend=bookMETrend("TH1ClusterStoNCorr", hidmanager.createHistoLayer("Trend_ClusterStoNCorr",name.Data(),rest,flag).c_str()); 00396 dbe->tag(theLayerMEs.ClusterStoNCorrTrend,layer); 00397 00398 // Symmetric Eta function Eta=(L+R)/(2C) (Capacitive Coupling) 00399 theLayerMEs.ClusterSymmEtaCCTrend=bookMETrend("TH1ClusterSymmEtaCC", hidmanager.createHistoLayer("Trend_ClusterSymmEtaCC",name.Data(),rest,flag).c_str()); 00400 dbe->tag(theLayerMEs.ClusterSymmEtaCCTrend,layer); 00401 } 00402 00403 } 00404 00405 //Cluster Position 00406 short total_nr_strips = SiStripDetCabling_->nApvPairs(id) * 2 * 128; 00407 theLayerMEs.ClusterPos= dbe->book1D(hidmanager.createHistoLayer("Summary_ClusterPosition",name.Data(),rest,flag).c_str(),hidmanager.createHistoLayer("Summary_ClusterPosition",name.Data(),rest,flag).c_str(),total_nr_strips, 0.5,total_nr_strips+0.5); 00408 dbe->tag(theLayerMEs.ClusterPos,layer); 00409 00410 //bookeeping 00411 LayerMEsMap[hid]=theLayerMEs; 00412 } 00413 00414 }
bool SiStripMonitorTrack::clusterInfos | ( | SiStripClusterInfo * | cluster, | |
const uint32_t & | detid, | |||
std::string | flag, | |||
LocalVector | LV | |||
) | [private] |
Definition at line 755 of file SiStripMonitorTrack.cc.
References conf_, SiStripHistoId::createHistoId(), SiStripHistoId::createHistoLayer(), lat::endl(), fillCapacitiveCouplingMEs(), fillModMEs(), fillTrendMEs(), flag_ring, folder_organizer, edm::ParameterSet::getParameter(), SiStripClusterInfo::getSignalOverNoiseRescaledByGain(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripClusterInfo::getWidth(), TIBDetId::layer(), TOBDetId::layer(), LogTrace, PV3DBase< T, PVType, FrameType >::mag(), Mod_On_, name, NClus, TIDDetId::ring(), TECDetId::ring(), TIDDetId::side(), TECDetId::side(), ss, TIDDetId::wheel(), TECDetId::wheel(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by AllClusters(), and RecHitInfo().
00756 { 00757 LogTrace("SiStripMonitorTrack") << "\n["<<__PRETTY_FUNCTION__<<"]" << std::endl; 00758 //folder_organizer.setDetectorFolder(0); 00759 if (cluster==0) return false; 00760 // if one imposes a cut on the clusters, apply it 00761 const edm::ParameterSet ps = conf_.getParameter<edm::ParameterSet>("ClusterConditions"); 00762 if( ps.getParameter<bool>("On") && 00763 (cluster->getSignalOverNoiseRescaledByGain() < ps.getParameter<double>("minStoN") || 00764 cluster->getSignalOverNoiseRescaledByGain() > ps.getParameter<double>("maxStoN") || 00765 cluster->getWidth() < ps.getParameter<double>("minWidth") || 00766 cluster->getWidth() > ps.getParameter<double>("maxWidth") )) return false; 00767 // start of the analysis 00768 00769 int SubDet_enum = StripSubdetector(detid).subdetId()-3; 00770 int iflag =0; 00771 if (flag=="OnTrack") iflag=0; 00772 else if (flag=="OffTrack") iflag=1; 00773 NClus[SubDet_enum][iflag]++; 00774 std::stringstream ss; 00775 // const_cast<SiStripClusterInfo*>(cluster)->print(ss); 00776 LogTrace("SiStripMonitorTrack") << "\n["<<__PRETTY_FUNCTION__<<"]\n" << ss.str() << std::endl; 00777 00778 float cosRZ = -2; 00779 LogTrace("SiStripMonitorTrack")<< "\n\tLV " << LV.x() << " " << LV.y() << " " << LV.z() << " " << LV.mag() << std::endl; 00780 if (LV.mag()!=0){ 00781 cosRZ= fabs(LV.z())/LV.mag(); 00782 LogTrace("SiStripMonitorTrack")<< "\n\t cosRZ " << cosRZ << std::endl; 00783 } 00784 std::string name; 00785 00786 // Filling SubDet Plots (on Track + off Track) 00787 std::pair<std::string,int32_t> SubDetAndLayer = folder_organizer.GetSubDetAndLayer(detid,flag_ring); 00788 name=flag+"_in_"+SubDetAndLayer.first; 00789 fillTrendMEs(cluster,name,cosRZ,flag); 00790 fillCapacitiveCouplingMEs(cluster,name,cosRZ,flag); 00791 00792 char rest[1024]; 00793 int subdetid = ((detid>>25)&0x7); 00794 if( subdetid==3 ){ 00795 // --------------------------- TIB --------------------------- // 00796 TIBDetId tib1 = TIBDetId(detid); 00797 sprintf(rest,"TIB__layer__%d",tib1.layer()); 00798 }else if( subdetid==4){ 00799 // --------------------------- TID --------------------------- // 00800 TIDDetId tid1 = TIDDetId(detid); 00801 sprintf(rest,"TID__side__%d__wheel__%d",tid1.side(),tid1.wheel()); 00802 }else if( subdetid==5){ 00803 // --------------------------- TOB --------------------------- // 00804 TOBDetId tob1 = TOBDetId(detid); 00805 sprintf(rest,"TOB__layer__%d",tob1.layer()); 00806 }else if( subdetid==6){ 00807 // --------------------------- TEC --------------------------- // 00808 TECDetId tec1 = TECDetId(detid); 00809 sprintf(rest,"TEC__side__%d__wheel__%d",tec1.side(),tec1.wheel()); 00810 }else{ 00811 // --------------------------- ??? --------------------------- // 00812 edm::LogError("SiStripTkDQM|WrongInput")<<"no such subdetector type :"<<subdetid<<" no folder set!"<<std::endl; 00813 return 0; 00814 } 00815 00816 if(flag_ring){ 00817 if( subdetid==4){ 00818 // --------------------------- TID --------------------------- // 00819 TIDDetId tid1 = TIDDetId(detid); 00820 sprintf(rest,"TID__side__%d__ring__%d",tid1.side(),tid1.ring()); 00821 }else if( subdetid==6){ 00822 // --------------------------- TEC --------------------------- // 00823 TECDetId tec1 = TECDetId(detid); 00824 sprintf(rest,"TEC__side__%d__ring__%d",tec1.side(),tec1.ring()); 00825 } 00826 } 00827 00828 // Filling Layer Plots 00829 00830 SiStripHistoId hidmanager1; 00831 00832 name= hidmanager1.createHistoLayer("","layer",rest,flag); 00833 fillTrendMEs(cluster,name,cosRZ,flag); 00834 fillCapacitiveCouplingMEs(cluster,name,cosRZ,flag); 00835 00836 // Module plots filled only for onTrack Clusters 00837 if(Mod_On_){ 00838 if(flag=="OnTrack"){ 00839 SiStripHistoId hidmanager2; 00840 name =hidmanager2.createHistoId("","det",detid); 00841 fillModMEs(cluster,name,cosRZ); 00842 } 00843 } 00844 return true; 00845 }
Reimplemented from edm::EDAnalyzer.
Definition at line 65 of file SiStripMonitorTrack.cc.
References conf_, dbe, edm::ParameterSet::getParameter(), DQMStore::save(), and DQMStore::showDirStructure().
00066 { 00067 if(conf_.getParameter<bool>("OutputMEsInRootFile")){ 00068 dbe->showDirStructure(); 00069 dbe->save(conf_.getParameter<std::string>("OutputFileName")); 00070 } 00071 }
void SiStripMonitorTrack::fillCapacitiveCouplingMEs | ( | SiStripClusterInfo * | cluster, | |
std::string | name, | |||
float | cos, | |||
std::string | flag | |||
) | [private] |
Definition at line 969 of file SiStripMonitorTrack.cc.
References CCAnalysis_On_, dsv_SiStripCluster, dsv_SiStripRawDigi, lat::endl(), edm::Handle< T >::failedToGet(), fillME(), fillTrend(), SiStripClusterInfo::getCharge(), SiStripClusterInfo::getChargeLRFirstNeighbour(), SiStripClusterInfo::getDetId(), SiStripClusterInfo::getFirstStrip(), SiStripClusterInfo::getMaxCharge(), SiStripClusterInfo::getMaxPosition(), SiStripClusterInfo::getNoiseRescaledByGain(), SiStripClusterInfo::getRawChargeCLR(), SiStripClusterInfo::getSignalOverNoiseRescaledByGain(), SiStripClusterInfo::getStripAmplitudes(), SiStripClusterInfo::getWidth(), it, LayerMEsMap, LogDebug, LogTrace, edm::Handle< T >::product(), RawDigis_On_, edm::DetSet< T >::size(), and SymEta().
Referenced by clusterInfos().
00969 { 00970 std::map<TString, LayerMEs>::iterator iLayerME = LayerMEsMap.find(name); 00971 if(iLayerME!=LayerMEsMap.end()){ 00972 // Capacitive Coupling analysis 00973 if( cos > 0.9 ) { // perpendicular track 00974 LogTrace("SiStripMonitorTrack") << "\t\t Perpendicular Track, cluster center " << cluster->getMaxPosition() << std::endl; 00975 00976 // calculate symmetric eta function with only the Central + First Left / First Right strips 00977 float chargeCentral = 0.; 00978 std::pair< float,float > chargeLeftRight; 00979 // 00980 if(RawDigis_On_) { 00981 // with RawDigi 00982 if(!dsv_SiStripRawDigi.failedToGet()) { 00983 if((*(dsv_SiStripRawDigi.product())).find(cluster->getDetId()) != (*(dsv_SiStripRawDigi.product())).end() ) { // ...if they exist 00984 const edm::DetSet<SiStripRawDigi> ds_SiStripRawDigi = (*(dsv_SiStripRawDigi.product()))[cluster->getDetId()]; 00985 edmNew::DetSet<SiStripCluster> ds_SiStripCluster = (*(dsv_SiStripCluster.product()))[cluster->getDetId()]; 00986 LogDebug("SiStripMonitorTrack") << "RawDigis found " << ds_SiStripRawDigi.size() << std::endl; 00987 std::vector<float> chargesCLR = cluster->getRawChargeCLR(ds_SiStripRawDigi,ds_SiStripCluster,std::string("VirginRaw")); 00988 chargeCentral = chargesCLR[0]; 00989 chargeLeftRight.first = chargesCLR[1]; 00990 chargeLeftRight.second = chargesCLR[2]; 00991 } // no SiStripRawDigi at all 00992 } 00993 } else { 00994 LogDebug("SiStripMonitorTrack") << "RawDigis " << RawDigis_On_ << " take info from cluster strips" << std::endl; 00995 // with cluster strips only 00996 chargeCentral = cluster->getMaxCharge(); 00997 chargeLeftRight = cluster->getChargeLRFirstNeighbour(); 00998 } 00999 float symmetricEta = SymEta(chargeCentral,chargeLeftRight.first,chargeLeftRight.second); 01000 float ccEstimator = symmetricEta / ( 1 + 2 * symmetricEta ); 01001 01002 // Summary 01003 LogTrace("SiStripMonitorTrack") 01004 <<"\n\t\t Cluster with multiplicity " << cluster->getWidth() 01005 << " in det " << cluster->getDetId() 01006 << ": Eta Function from Charge" 01007 <<"\n\t\t\t Signal = " << cluster->getCharge() 01008 <<"\n\t\t\t Noise = " << cluster->getNoiseRescaledByGain() 01009 <<"\n\t\t\t S/N = " << cluster->getSignalOverNoiseRescaledByGain() 01010 <<"\n\t\t\t Cluster Central C = " << cluster->getMaxCharge() 01011 <<"\n\t\t\t Cluster Left L = " << cluster->getChargeLRFirstNeighbour().first 01012 <<"\n\t\t\t Cluster Right R = " << cluster->getChargeLRFirstNeighbour().second 01013 <<"\n\t\t\t RawDigi Central C = " << chargeCentral 01014 <<"\n\t\t\t RawDigi Left L = " << chargeLeftRight.first 01015 <<"\n\t\t\t RawDigi Right R = " << chargeLeftRight.second 01016 <<"\n\t\t\t Max = " << cluster->getMaxCharge() 01017 <<"\n\t\t\t Pos = " << cluster->getMaxPosition() 01018 <<"\n\t\t\t 1st = " << cluster->getFirstStrip() 01019 <<"\n\t\t\t Symmetric Eta = " << symmetricEta 01020 <<"\n\t\t\t CC Estimator = " << ccEstimator 01021 << std::endl; 01022 for (std::vector<uint8_t>::const_iterator it=cluster->getStripAmplitudes().begin();it<cluster->getStripAmplitudes().end();++it) { 01023 LogTrace("SiStripMonitorTrack") 01024 <<"\t\t\t " << (short)(*it) << std::endl; 01025 } 01026 // 01027 01028 // fill monitor elements 01029 fillME(iLayerME->second.ClusterSymmEtaCC , symmetricEta); 01030 fillTrend(iLayerME->second.ClusterSymmEtaCCTrend, symmetricEta); 01031 // Histograms booked and filled only if Charge Coupling Analysis is selected 01032 if(CCAnalysis_On_) { 01033 fillME(iLayerME->second.ClusterWidthCC, cluster->getWidth() ); 01034 fillME(iLayerME->second.ClusterEstimatorCC , ccEstimator ); 01035 } 01036 // 01037 01038 } // perpendicular track 01039 } 01040 }
void SiStripMonitorTrack::fillME | ( | MonitorElement * | ME, | |
float | value1, | |||
float | value2, | |||
float | value3, | |||
float | value4 | |||
) | [inline, private] |
Definition at line 87 of file SiStripMonitorTrack.h.
References MonitorElement::Fill().
00087 {if (ME!=0)ME->Fill(value1,value2,value3,value4);}
void SiStripMonitorTrack::fillME | ( | MonitorElement * | ME, | |
float | value1, | |||
float | value2, | |||
float | value3 | |||
) | [inline, private] |
Definition at line 86 of file SiStripMonitorTrack.h.
References MonitorElement::Fill().
00086 {if (ME!=0)ME->Fill(value1,value2,value3);}
void SiStripMonitorTrack::fillME | ( | MonitorElement * | ME, | |
float | value1, | |||
float | value2 | |||
) | [inline, private] |
Definition at line 85 of file SiStripMonitorTrack.h.
References MonitorElement::Fill().
00085 {if (ME!=0)ME->Fill(value1,value2);}
void SiStripMonitorTrack::fillME | ( | MonitorElement * | ME, | |
float | value1 | |||
) | [inline, private] |
Definition at line 84 of file SiStripMonitorTrack.h.
References MonitorElement::Fill().
Referenced by analyze(), fillCapacitiveCouplingMEs(), fillModMEs(), and fillTrendMEs().
00084 {if (ME!=0)ME->Fill(value1);}
void SiStripMonitorTrack::fillModMEs | ( | SiStripClusterInfo * | cluster, | |
TString | name, | |||
float | cos | |||
) | [private] |
Definition at line 920 of file SiStripMonitorTrack.cc.
References conf_, fillME(), SiStripClusterInfo::getCharge(), SiStripClusterInfo::getFirstStrip(), SiStripClusterInfo::getMaxCharge(), SiStripClusterInfo::getMaxPosition(), edm::ParameterSet::getParameter(), SiStripClusterInfo::getPosition(), SiStripClusterInfo::getSignalOverNoiseRescaledByGain(), SiStripClusterInfo::getStripAmplitudes(), SiStripClusterInfo::getWidth(), i, int, it, and ModMEsMap.
Referenced by clusterInfos().
00921 { 00922 std::map<TString, ModMEs>::iterator iModME = ModMEsMap.find(name); 00923 if(iModME!=ModMEsMap.end()){ 00924 fillME(iModME->second.ClusterStoN ,cluster->getSignalOverNoiseRescaledByGain()); 00925 fillME(iModME->second.ClusterStoNCorr ,cluster->getSignalOverNoiseRescaledByGain()*cos); 00926 fillME(iModME->second.ClusterCharge,cluster->getCharge()); 00927 fillME(iModME->second.ClusterChargeCorr,cluster->getCharge()*cos); 00928 fillME(iModME->second.ClusterWidth ,cluster->getWidth()); 00929 fillME(iModME->second.ClusterPos ,cluster->getPosition()); 00930 00931 //fill the PGV histo 00932 float PGVmax = cluster->getMaxCharge(); 00933 int PGVposCounter = cluster->getFirstStrip() - cluster->getMaxPosition(); 00934 for (int i= int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmin"));i<PGVposCounter;++i) 00935 fillME(iModME->second.ClusterPGV, i,0.); 00936 for (std::vector<uint8_t>::const_iterator it=cluster->getStripAmplitudes().begin();it<cluster->getStripAmplitudes().end();++it) { 00937 fillME(iModME->second.ClusterPGV, PGVposCounter++,(*it)/PGVmax); 00938 } 00939 for (int i= PGVposCounter;i<int(conf_.getParameter<edm::ParameterSet>("TProfileClusterPGV").getParameter<double>("xmax"));++i) 00940 fillME(iModME->second.ClusterPGV, i,0.); 00941 //end fill the PGV histo 00942 } 00943 }
void SiStripMonitorTrack::fillTrend | ( | MonitorElement * | ME, | |
float | value1 | |||
) | [private] |
Definition at line 848 of file SiStripMonitorTrack.cc.
References conf_, python::tagInventory::entries, error, eventNb, MonitorElement::Fill(), firstEvent, MonitorElement::getAxisTitle(), MonitorElement::getBinContent(), MonitorElement::getBinEntries(), MonitorElement::getBinError(), MonitorElement::getEntries(), MonitorElement::getNbinsX(), edm::ParameterSet::getParameter(), int, btag::LeptonSelector::option(), funct::pow(), MonitorElement::setAxisTitle(), MonitorElement::setBinContent(), MonitorElement::setBinEntries(), MonitorElement::setBinError(), and MonitorElement::setEntries().
Referenced by analyze(), fillCapacitiveCouplingMEs(), and fillTrendMEs().
00849 { 00850 if(!me) return; 00851 //check the origin and check options 00852 int option = conf_.getParameter<edm::ParameterSet>("Trending").getParameter<int32_t>("UpdateMode"); 00853 if(firstEvent==-1) firstEvent = eventNb; 00854 int CurrentStep = atoi(me->getAxisTitle(1).c_str()+8); 00855 int firstEventUsed = firstEvent; 00856 int presentOverflow = (int)me->getBinEntries(me->getNbinsX()+1); 00857 if(option==2) firstEventUsed += CurrentStep * int(me->getBinEntries(me->getNbinsX()+1)); 00858 else if(option==3) firstEventUsed += CurrentStep * int(me->getBinEntries(me->getNbinsX()+1)) * me->getNbinsX(); 00859 //fill 00860 me->Fill((eventNb-firstEventUsed)/CurrentStep,value); 00861 if(eventNb-firstEvent<1) return; 00862 // check if we reached the end 00863 if(presentOverflow == me->getBinEntries(me->getNbinsX()+1)) return; 00864 switch(option) { 00865 case 1: 00866 { 00867 // mode 1: rebin and change X scale 00868 int NbinsX = me->getNbinsX(); 00869 float entries = 0.; 00870 float content = 0.; 00871 float error = 0.; 00872 int bin = 1; 00873 int totEntries = int(me->getEntries()); 00874 for(;bin<=NbinsX/2;++bin) { 00875 content = (me->getBinContent(2*bin-1) + me->getBinContent(2*bin))/2.; 00876 error = pow((me->getBinError(2*bin-1)*me->getBinError(2*bin-1)) + (me->getBinError(2*bin)*me->getBinError(2*bin)),0.5)/2.; 00877 entries = me->getBinEntries(2*bin-1) + me->getBinEntries(2*bin); 00878 me->setBinContent(bin,content*entries); 00879 me->setBinError(bin,error); 00880 me->setBinEntries(bin,entries); 00881 } 00882 for(;bin<=NbinsX+1;++bin) { 00883 me->setBinContent(bin,0); 00884 me->setBinError(bin,0); 00885 me->setBinEntries(bin,0); 00886 } 00887 me->setEntries(totEntries); 00888 char buffer[256]; 00889 sprintf(buffer,"EventId/%d",CurrentStep*2); 00890 me->setAxisTitle(std::string(buffer),1); 00891 break; 00892 } 00893 case 2: 00894 { 00895 // mode 2: slide 00896 int bin=1; 00897 int NbinsX = me->getNbinsX(); 00898 for(;bin<=NbinsX;++bin) { 00899 me->setBinContent(bin,me->getBinContent(bin+1)*me->getBinEntries(bin+1)); 00900 me->setBinError(bin,me->getBinError(bin+1)); 00901 me->setBinEntries(bin,me->getBinEntries(bin+1)); 00902 } 00903 break; 00904 } 00905 case 3: 00906 { 00907 // mode 3: reset 00908 int NbinsX = me->getNbinsX(); 00909 for(int bin=0;bin<=NbinsX;++bin) { 00910 me->setBinContent(bin,0); 00911 me->setBinError(bin,0); 00912 me->setBinEntries(bin,0); 00913 } 00914 break; 00915 } 00916 } 00917 }
void SiStripMonitorTrack::fillTrendMEs | ( | SiStripClusterInfo * | cluster, | |
std::string | name, | |||
float | cos, | |||
std::string | flag | |||
) | [private] |
Definition at line 946 of file SiStripMonitorTrack.cc.
References fillME(), fillTrend(), SiStripClusterInfo::getCharge(), SiStripClusterInfo::getNoiseRescaledByGain(), SiStripClusterInfo::getPosition(), SiStripClusterInfo::getSignalOverNoiseRescaledByGain(), SiStripClusterInfo::getWidth(), and LayerMEsMap.
Referenced by clusterInfos().
00947 { 00948 std::map<TString, LayerMEs>::iterator iLayerME = LayerMEsMap.find(name); 00949 if(iLayerME!=LayerMEsMap.end()){ 00950 if(flag=="OnTrack"){ 00951 fillME(iLayerME->second.ClusterStoNCorr,(cluster->getSignalOverNoiseRescaledByGain())*cos); 00952 fillTrend(iLayerME->second.ClusterStoNCorrTrend,(cluster->getSignalOverNoiseRescaledByGain())*cos); 00953 fillME(iLayerME->second.ClusterChargeCorr,cluster->getCharge()*cos); 00954 fillTrend(iLayerME->second.ClusterChargeCorrTrend,cluster->getCharge()*cos); 00955 } 00956 fillME(iLayerME->second.ClusterStoN ,cluster->getSignalOverNoiseRescaledByGain()); 00957 fillTrend(iLayerME->second.ClusterStoNTrend,cluster->getSignalOverNoiseRescaledByGain()); 00958 fillME(iLayerME->second.ClusterCharge,cluster->getCharge()); 00959 fillTrend(iLayerME->second.ClusterChargeTrend,cluster->getCharge()); 00960 fillME(iLayerME->second.ClusterNoise ,cluster->getNoiseRescaledByGain()); 00961 fillTrend(iLayerME->second.ClusterNoiseTrend,cluster->getNoiseRescaledByGain()); 00962 fillME(iLayerME->second.ClusterWidth ,cluster->getWidth()); 00963 fillTrend(iLayerME->second.ClusterWidthTrend,cluster->getWidth()); 00964 fillME(iLayerME->second.ClusterPos ,cluster->getPosition()); 00965 } 00966 }
void SiStripMonitorTrack::RecHitInfo | ( | const SiStripRecHit2D * | tkrecHit, | |
LocalVector | LV, | |||
reco::TrackRef | track_ref, | |||
const edm::EventSetup & | es | |||
) | [private] |
Definition at line 692 of file SiStripMonitorTrack.cc.
References SiStripRecHit2D::cluster(), clusterInfos(), countOn, lat::endl(), find(), TrackingRecHit::geographicalId(), TrackingRecHit::isValid(), BaseSiTrackerRecHit2DLocalPos::localPosition(), LogTrace, ModulesToBeExcluded_, NULL, DetId::rawId(), tkgeom, vPSiStripCluster, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by trackStudy().
00692 { 00693 00694 if(!tkrecHit->isValid()){ 00695 LogTrace("SiStripMonitorTrack") <<"\t\t Invalid Hit " << std::endl; 00696 return; 00697 } 00698 00699 const uint32_t& detid = tkrecHit->geographicalId().rawId(); 00700 if (find(ModulesToBeExcluded_.begin(),ModulesToBeExcluded_.end(),detid)!=ModulesToBeExcluded_.end()){ 00701 LogTrace("SiStripMonitorTrack") << "Modules Excluded" << std::endl; 00702 return; 00703 } 00704 00705 LogTrace("SiStripMonitorTrack") 00706 <<"\n\t\tRecHit on det "<<tkrecHit->geographicalId().rawId() 00707 <<"\n\t\tRecHit in LP "<<tkrecHit->localPosition() 00708 <<"\n\t\tRecHit in GP "<<tkgeom->idToDet(tkrecHit->geographicalId())->surface().toGlobal(tkrecHit->localPosition()) 00709 <<"\n\t\tRecHit trackLocal vector "<<LV.x() << " " << LV.y() << " " << LV.z() <<std::endl; 00710 00711 //Get SiStripCluster from SiStripRecHit 00712 if ( tkrecHit != NULL ){ 00713 LogTrace("SiStripMonitorTrack") << "GOOD hit" << std::endl; 00714 const SiStripCluster* SiStripCluster_ = &*(tkrecHit->cluster()); 00715 SiStripClusterInfo* SiStripClusterInfo_ = new SiStripClusterInfo(detid,*SiStripCluster_,es); 00716 00717 if ( clusterInfos(SiStripClusterInfo_,detid,"OnTrack", LV ) ) { 00718 vPSiStripCluster.push_back(SiStripCluster_); 00719 countOn++; 00720 } 00721 delete SiStripClusterInfo_; 00722 //} 00723 }else{ 00724 edm::LogError("SiStripMonitorTrack") << "NULL hit" << std::endl; 00725 } 00726 }
float SiStripMonitorTrack::SymEta | ( | float | clusterCentralCharge, | |
float | clusterLeftCharge, | |||
float | clusterRightCharge | |||
) | [private] |
Definition at line 1044 of file SiStripMonitorTrack.cc.
Referenced by fillCapacitiveCouplingMEs().
01044 { 01045 float symeta = ( clusterLeftCharge + clusterRightCharge )/( 2 * clusterCentralCharge ); 01046 return symeta; 01047 }
void SiStripMonitorTrack::trackStudy | ( | const edm::EventSetup & | es | ) | [private] |
Definition at line 595 of file SiStripMonitorTrack.cc.
References lat::endl(), TrackingRecHit::geographicalId(), i, it, TrajectoryStateOnSurface::localMomentum(), LogTrace, PV3DBase< T, PVType, FrameType >::mag(), Matched, GluedGeomDet::monoDet(), SiStripMatchedRecHit2D::monoHit(), ProjectedSiStripRecHit2D::originalHit(), Projected, DetId::rawId(), RecHitInfo(), Single, ss, GluedGeomDet::stereoDet(), SiStripMatchedRecHit2D::stereoHit(), TItkAssociatorCollection, tkgeom, GeomDet::toGlobal(), GeomDet::toLocal(), trackCollection, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by analyze().
00596 { 00597 00598 const reco::TrackCollection tC = *(trackCollection.product()); 00599 int i=0; 00600 std::vector<TrajectoryMeasurement> measurements; 00601 for(TrajTrackAssociationCollection::const_iterator it = TItkAssociatorCollection->begin();it != TItkAssociatorCollection->end(); ++it){ 00602 const edm::Ref<std::vector<Trajectory> > traj_iterator = it->key; 00603 // Trajectory Map, extract Trajectory for this track 00604 reco::TrackRef trackref = it->val; 00605 LogTrace("SiStripMonitorTrack") 00606 << "Track number "<< i+1 00607 << "\n\tmomentum: " << trackref->momentum() 00608 << "\n\tPT: " << trackref->pt() 00609 << "\n\tvertex: " << trackref->vertex() 00610 << "\n\timpact parameter: " << trackref->d0() 00611 << "\n\tcharge: " << trackref->charge() 00612 << "\n\tnormalizedChi2: " << trackref->normalizedChi2() 00613 <<"\n\tFrom EXTRA : " 00614 <<"\n\t\touter PT "<< trackref->outerPt()<<std::endl; 00615 i++; 00616 00617 measurements =traj_iterator->measurements(); 00618 std::vector<TrajectoryMeasurement>::iterator traj_mes_iterator; 00619 int nhit=0; 00620 for(traj_mes_iterator=measurements.begin();traj_mes_iterator!=measurements.end();traj_mes_iterator++){//loop on measurements 00621 //trajectory local direction and position on detector 00622 LocalPoint stateposition; 00623 LocalVector statedirection; 00624 00625 TrajectoryStateOnSurface updatedtsos=traj_mes_iterator->updatedState(); 00626 ConstRecHitPointer ttrh=traj_mes_iterator->recHit(); 00627 if (!ttrh->isValid()) {continue;} 00628 00629 std::stringstream ss; 00630 00631 nhit++; 00632 00633 const ProjectedSiStripRecHit2D* phit=dynamic_cast<const ProjectedSiStripRecHit2D*>( ttrh->hit() ); 00634 const SiStripMatchedRecHit2D* matchedhit=dynamic_cast<const SiStripMatchedRecHit2D*>( ttrh->hit() ); 00635 const SiStripRecHit2D* hit=dynamic_cast<const SiStripRecHit2D*>( ttrh->hit() ); 00636 00637 RecHitType type=Single; 00638 00639 if(matchedhit){ 00640 LogTrace("SiStripMonitorTrack")<<"\nMatched recHit found"<< std::endl; 00641 type=Matched; 00642 00643 GluedGeomDet * gdet=(GluedGeomDet *)tkgeom->idToDet(matchedhit->geographicalId()); 00644 GlobalVector gtrkdirup=gdet->toGlobal(updatedtsos.localMomentum()); 00645 //mono side 00646 const GeomDetUnit * monodet=gdet->monoDet(); 00647 statedirection=monodet->toLocal(gtrkdirup); 00648 if(statedirection.mag() != 0) RecHitInfo(matchedhit->monoHit(),statedirection,trackref,es); 00649 //stereo side 00650 const GeomDetUnit * stereodet=gdet->stereoDet(); 00651 statedirection=stereodet->toLocal(gtrkdirup); 00652 if(statedirection.mag() != 0) RecHitInfo(matchedhit->stereoHit(),statedirection,trackref,es); 00653 ss<<"\nLocalMomentum (stereo): " << statedirection; 00654 } 00655 else if(phit){ 00656 LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found"<< std::endl; 00657 type=Projected; 00658 GluedGeomDet * gdet=(GluedGeomDet *)tkgeom->idToDet(phit->geographicalId()); 00659 00660 GlobalVector gtrkdirup=gdet->toGlobal(updatedtsos.localMomentum()); 00661 const SiStripRecHit2D& originalhit=phit->originalHit(); 00662 const GeomDetUnit * det; 00663 if(!StripSubdetector(originalhit.geographicalId().rawId()).stereo()){ 00664 //mono side 00665 LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found MONO"<< std::endl; 00666 det=gdet->monoDet(); 00667 statedirection=det->toLocal(gtrkdirup); 00668 if(statedirection.mag() != 0) RecHitInfo(&(phit->originalHit()),statedirection,trackref,es); 00669 } 00670 else{ 00671 LogTrace("SiStripMonitorTrack")<<"\nProjected recHit found STEREO"<< std::endl; 00672 //stereo side 00673 det=gdet->stereoDet(); 00674 statedirection=det->toLocal(gtrkdirup); 00675 if(statedirection.mag() != 0) RecHitInfo(&(phit->originalHit()),statedirection,trackref,es); 00676 } 00677 }else { 00678 if(hit!=0){ 00679 ss<<"\nSingle recHit found"<< std::endl; 00680 statedirection=updatedtsos.localMomentum(); 00681 if(statedirection.mag() != 0) RecHitInfo(hit,statedirection,trackref,es); 00682 } 00683 } 00684 ss <<"LocalMomentum: "<<statedirection 00685 << "\nLocal x-z plane angle: "<<atan2(statedirection.x(),statedirection.z()); 00686 LogTrace("SiStripMonitorTrack") <<ss.str() << std::endl; 00687 } 00688 00689 } 00690 }
bool SiStripMonitorTrack::CCAnalysis_On_ [private] |
Definition at line 182 of file SiStripMonitorTrack.h.
Referenced by bookSubDetMEs(), bookTrendMEs(), and fillCapacitiveCouplingMEs().
edm::ParameterSet SiStripMonitorTrack::conf_ [private] |
Definition at line 93 of file SiStripMonitorTrack.h.
Referenced by analyze(), book(), bookME1D(), bookME2D(), bookME3D(), bookMEProfile(), bookMETrend(), clusterInfos(), endJob(), fillModMEs(), and fillTrend().
int SiStripMonitorTrack::countAll [private] |
Definition at line 195 of file SiStripMonitorTrack.h.
int SiStripMonitorTrack::countOff [private] |
int SiStripMonitorTrack::countOn [private] |
DQMStore* SiStripMonitorTrack::dbe [private] |
Definition at line 92 of file SiStripMonitorTrack.h.
Referenced by book(), bookME1D(), bookME2D(), bookME3D(), bookMEProfile(), bookMETrend(), bookModMEs(), bookTrendMEs(), and endJob().
std::map<std::pair<std::string,int32_t>,bool> SiStripMonitorTrack::DetectedLayers [private] |
edm::Handle< edmNew::DetSetVector<SiStripCluster> > SiStripMonitorTrack::dsv_SiStripCluster [private] |
Definition at line 166 of file SiStripMonitorTrack.h.
Referenced by AllClusters(), analyze(), and fillCapacitiveCouplingMEs().
Definition at line 165 of file SiStripMonitorTrack.h.
Referenced by analyze(), and fillCapacitiveCouplingMEs().
int SiStripMonitorTrack::eventNb [private] |
int SiStripMonitorTrack::firstEvent [private] |
bool SiStripMonitorTrack::flag_ring [private] |
Definition at line 192 of file SiStripMonitorTrack.h.
Referenced by book(), bookTrendMEs(), and clusterInfos().
std::string SiStripMonitorTrack::histname [private] |
Definition at line 94 of file SiStripMonitorTrack.h.
std::map<TString, LayerMEs> SiStripMonitorTrack::LayerMEsMap [private] |
Definition at line 161 of file SiStripMonitorTrack.h.
Referenced by analyze(), bookSubDetMEs(), bookTrendMEs(), fillCapacitiveCouplingMEs(), and fillTrendMEs().
LocalVector SiStripMonitorTrack::LV [private] |
std::map<TString, MonitorElement*> SiStripMonitorTrack::MEMap [private] |
bool SiStripMonitorTrack::Mod_On_ [private] |
std::map<TString, ModMEs> SiStripMonitorTrack::ModMEsMap [private] |
std::vector<uint32_t> SiStripMonitorTrack::ModulesToBeExcluded_ [private] |
Definition at line 186 of file SiStripMonitorTrack.h.
Referenced by AllClusters(), and RecHitInfo().
TString SiStripMonitorTrack::name [private] |
Definition at line 95 of file SiStripMonitorTrack.h.
Referenced by analyze(), book(), and clusterInfos().
int SiStripMonitorTrack::NClus[4][3] [private] |
Definition at line 195 of file SiStripMonitorTrack.h.
Referenced by analyze(), clusterInfos(), and SiStripMonitorTrack().
int SiStripMonitorTrack::off_Flag [private] |
Definition at line 185 of file SiStripMonitorTrack.h.
Referenced by analyze(), book(), and SiStripMonitorTrack().
bool SiStripMonitorTrack::OffHisto_On_ [private] |
Definition at line 180 of file SiStripMonitorTrack.h.
Referenced by analyze(), and SiStripMonitorTrack().
Definition at line 175 of file SiStripMonitorTrack.h.
Referenced by bookME1D(), bookME2D(), bookME3D(), bookMEProfile(), and bookMETrend().
bool SiStripMonitorTrack::RawDigis_On_ [private] |
Definition at line 181 of file SiStripMonitorTrack.h.
Referenced by analyze(), and fillCapacitiveCouplingMEs().
bool SiStripMonitorTrack::ring_flag [private] |
Definition at line 183 of file SiStripMonitorTrack.h.
int SiStripMonitorTrack::runNb [private] |
Definition at line 173 of file SiStripMonitorTrack.h.
Referenced by beginRun(), book(), bookModMEs(), and bookTrendMEs().
Definition at line 172 of file SiStripMonitorTrack.h.
Referenced by beginRun(), RecHitInfo(), and trackStudy().
edm::Handle<std::vector<Trajectory> > SiStripMonitorTrack::TrajectoryCollection [private] |
bool SiStripMonitorTrack::Trend_On_ [private] |
Definition at line 179 of file SiStripMonitorTrack.h.
Referenced by analyze(), book(), bookSubDetMEs(), and bookTrendMEs().
std::vector<const SiStripCluster*> SiStripMonitorTrack::vPSiStripCluster [private] |
Definition at line 187 of file SiStripMonitorTrack.h.
Referenced by AllClusters(), analyze(), and RecHitInfo().