00001
00002
00003 #include "VisReco/VisTracker/interface/VisTkRecoContent.h"
00004 #include "VisReco/VisTracker/interface/VisPixelDigiTwig.h"
00005 #include "VisReco/VisTracker/interface/VisTrackerPiDigiTwig.h"
00006 #include "VisReco/VisTracker/interface/VisTrackerDigiTwig.h"
00007 #include "VisReco/VisTracker/interface/VisTkRecTracksTwig.h"
00008 #include "VisReco/VisTracker/interface/VisTkIdealHelixTracksTwig.h"
00009 #include "VisReco/VisTracker/interface/VisTkRecTrackDetsTwig.h"
00010 #include "VisReco/VisTracker/interface/VisTrajectorySeedTwig.h"
00011 #include "VisReco/VisTracker/interface/VisTrackerClusterTwig.h"
00012 #include "VisReco/VisTracker/interface/VisTrackerPiClusterTwig.h"
00013 #include "VisReco/VisTracker/interface/VisTrackerPiRechitTwig.h"
00014 #include "VisReco/VisTracker/interface/VisTrackerRechit2DTwig.h"
00015 #include "VisReco/VisTracker/interface/VisTrackerRechit2DMatchedTwig.h"
00016 #include "VisReco/VisTracker/interface/VisGsfTrackTwig.h"
00017 #include "VisReco/VisTracker/interface/VisTrackingRecHitTwig.h"
00018 #include "VisFramework/VisFrameworkBase/interface/VisExceptionService.h"
00019 #include "VisFramework/VisFrameworkBase/interface/debug.h"
00020 #include "Iguana/Studio/interface/IgDocumentData.h"
00021 #include "Iguana/Framework/interface/IgTwig.h"
00022 #include "Iguana/Studio/interface/IgQtLock.h"
00023 #include <classlib/utils/Callback.h>
00024
00025
00026
00027
00028
00029
00030
00031
00032 IG_DEFINE_STATE_ELEMENT (VisTkRecoContent, "Data/Reco/Tracker");
00033
00034
00035
00036
00037
00039 VisTkRecoContent::VisTkRecoContent (IgState *state)
00040 : VisContent (state, s_key, MAIN_THREAD,
00041 lat::CreateCallback (this, &VisTkRecoContent::init))
00042 {
00043 }
00044
00047 void
00048 VisTkRecoContent::init (void)
00049 {
00050 LOG (0, trace, LFfwvis, "VisTkRecoContent::init()\n");
00051
00052 IgQtLock ();
00053 IgTwig *rootTwig = IgDocumentData::get (state ())->root ();
00054 IgTwig *topTwig = 0;
00055 IgTwig *eventTwig = 0;
00056
00057 topTwig = rootTwig->lookup ("CMS Event and Detector");
00058 if (!topTwig) topTwig = new IgSimpleTwig (rootTwig, "CMS Event and Detector");
00059
00060 eventTwig = topTwig->lookup ("CMS Event");
00061 if (!eventTwig) eventTwig = new IgSimpleTwig (topTwig, "CMS Event");
00062
00063 std::vector<std::string> twigs (13);
00064 twigs.push_back ("VisTrackerPiDigiTwig");
00065 twigs.push_back ("VisTrackerPiClusterTwig");
00066 twigs.push_back ("VisTrackerPiRechitTwig");
00067 twigs.push_back ("VisTrackerDigiTwig");
00068 twigs.push_back ("VisTrackerClusterTwig");
00069 twigs.push_back ("VisTrackerRechit2DTwig");
00070 twigs.push_back ("VisTrackerRechit2DMatchedTwig");
00071 twigs.push_back ("VisTkRecTracksTwig");
00072 twigs.push_back ("VisTkIdealHelixTracksTwig");
00073 twigs.push_back ("VisTkRecTrackDetsTwig");
00074 twigs.push_back ("VisTrajectorySeedTwig");
00075 twigs.push_back ("VisGsfTrackTwig");
00076 twigs.push_back ("VisTrackingRecHitTwig");
00077
00078 const edm::ParameterSet *pset = VisConfigurationService::pSet ();
00079 if (pset)
00080 {
00081 twigs = pset->getUntrackedParameter<std::vector<std::string> > ("VisTrackerContent", twigs);
00082 }
00083
00084 VisExceptionService *exService = VisExceptionService::get (state ());
00085 if (! exService)
00086 {
00087 exService = new VisExceptionService (state ());
00088 }
00089
00090 IgTwig *trackerEvent = new IgSimpleTwig (eventTwig, "Tracker Event");
00091
00092 if (std::find (twigs.begin (), twigs.end (), "VisTrackerPiDigiTwig")!= twigs.end())
00093 {
00094 VisTrackerPiDigiTwig *pdigi = new VisTrackerPiDigiTwig (state (), trackerEvent, "Pixel Digis");
00095 pdigi->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00096 pdigi->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00097 pdigi->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00098 pdigi->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00099 }
00100
00101 if (std::find (twigs.begin (), twigs.end (), "VisTrackerPiClusterTwig")!= twigs.end())
00102 {
00103 VisTrackerPiClusterTwig *pcluster = new VisTrackerPiClusterTwig (state (), trackerEvent, "Pixel Cluster");
00104 pcluster->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00105 pcluster->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00106 pcluster->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00107 pcluster->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00108 }
00109
00110 if (std::find (twigs.begin (), twigs.end (), "VisTrackerPiRechitTwig")!= twigs.end())
00111 {
00112 VisTrackerPiRechitTwig *prechit = new VisTrackerPiRechitTwig (state (), trackerEvent, "Pixel Rechits");
00113 prechit->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00114 prechit->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00115 prechit->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00116 prechit->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00117 }
00118
00119 if (std::find (twigs.begin (), twigs.end (), "VisTrackerDigiTwig")!= twigs.end())
00120 {
00121 VisTrackerDigiTwig *sdigi = new VisTrackerDigiTwig (state (), trackerEvent, "SiStrip Digis");
00122 sdigi->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00123 sdigi->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00124 sdigi->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00125 sdigi->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00126 }
00127
00128 if (std::find (twigs.begin (), twigs.end (), "VisTrackerClusterTwig")!= twigs.end())
00129 {
00130 VisTrackerClusterTwig *scluster = new VisTrackerClusterTwig (state (), trackerEvent, "SiStrip Clusters");
00131 scluster->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00132 scluster->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00133 scluster->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00134 scluster->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00135 }
00136
00137 if (std::find (twigs.begin (), twigs.end (), "VisTrackerRechit2DTwig")!= twigs.end())
00138 {
00139 VisTrackerRechit2DTwig *rechit2D = new VisTrackerRechit2DTwig (state (), trackerEvent, "SiStrip RecHit 2D");
00140 rechit2D->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00141 rechit2D->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00142 rechit2D->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00143 rechit2D->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00144 }
00145
00146 if (std::find (twigs.begin (), twigs.end (), "VisTrackerRechit2DMatchedTwig")!= twigs.end())
00147 {
00148 VisTrackerRechit2DMatchedTwig *rechit2DMatched = new VisTrackerRechit2DMatchedTwig (state (), trackerEvent, "SiStrip RecHit 2D Matched");
00149 rechit2DMatched->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00150 rechit2DMatched->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00151 rechit2DMatched->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00152 rechit2DMatched->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00153 }
00154
00155 if (std::find (twigs.begin (), twigs.end (), "VisTkRecTracksTwig")!= twigs.end())
00156 {
00157 VisTkRecTracksTwig *rectracks = new VisTkRecTracksTwig (state (), trackerEvent, "Reconstructed Tracks");
00158 rectracks->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00159 rectracks->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00160 rectracks->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00161 rectracks->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00162 }
00163
00164 if (std::find (twigs.begin (), twigs.end (), "VisTkIdealHelixTracksTwig")!= twigs.end())
00165 {
00166 VisTkIdealHelixTracksTwig *recidealtracks = new VisTkIdealHelixTracksTwig (state (), trackerEvent, "Rec Ideal Tracks");
00167 recidealtracks->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00168 recidealtracks->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00169 recidealtracks->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00170 recidealtracks->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00171 }
00172
00173 if (std::find (twigs.begin (), twigs.end (), "VisTkRecTrackDetsTwig")!= twigs.end())
00174 {
00175 VisTkRecTrackDetsTwig *rectrackdets = new VisTkRecTrackDetsTwig (state (), trackerEvent, "Rec Track Dets");
00176 rectrackdets->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00177 rectrackdets->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00178 rectrackdets->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00179 rectrackdets->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00180 }
00181
00182 if (std::find (twigs.begin (), twigs.end (), "VisTrajectorySeedTwig")!= twigs.end())
00183 {
00184 VisTrajectorySeedTwig *seeds = new VisTrajectorySeedTwig (state (), trackerEvent, "Trajectory Seeds");
00185 seeds->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00186 seeds->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00187 seeds->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00188 seeds->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00189 }
00190
00191 if (std::find (twigs.begin (), twigs.end (), "VisGsfTrackTwig")!= twigs.end())
00192 {
00193 VisGsfTrackTwig *gsftracks = new VisGsfTrackTwig (state (), trackerEvent, "Gsf Tracks");
00194 gsftracks->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00195 gsftracks->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00196 gsftracks->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00197 gsftracks->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00198 }
00199
00200 if (std::find (twigs.begin (), twigs.end (), "VisTrackingRecHitTwig")!= twigs.end())
00201 {
00202 VisTrackingRecHitTwig *trechits = new VisTrackingRecHitTwig (state (), trackerEvent, "Tracking RecHits");
00203 trechits->onException (lat::CreateCallback (exService, &VisExceptionService::exceptionCallback));
00204 trechits->onError (lat::CreateCallback (exService, &VisExceptionService::errorCallback));
00205 trechits->onCmsException (lat::CreateCallback (exService, &VisExceptionService::cmsExceptionCallback));
00206 trechits->onUnhandledException (lat::CreateCallback (exService, &VisExceptionService::unhandledExceptionCallback));
00207 }
00208 }