@@ -37,8 +37,7 @@ void TrendingTaskITSFhr::configure(std::string name,
3737 mConfig = TrendingTaskConfigITS (name, config);
3838}
3939
40- void TrendingTaskITSFhr::initialize (Trigger,
41- framework::ServiceRegistry& services)
40+ void TrendingTaskITSFhr::initialize (Trigger, framework::ServiceRegistry&)
4241{
4342 // Preparing data structure of TTree
4443 mTrend = std::make_unique<TTree>(); // todo: retrieve last TTree, so we
@@ -57,37 +56,38 @@ void TrendingTaskITSFhr::initialize(Trigger,
5756 reductor->getBranchLeafList ());
5857 mReductors [source.name ] = std::move (reductor);
5958 }
60-
61- // Setting up services
62- mDatabase = &services.get <repository::DatabaseInterface>();
6359}
6460
6561// todo: see if OptimizeBaskets() indeed helps after some time
66- void TrendingTaskITSFhr::update (Trigger, framework::ServiceRegistry&)
62+ void TrendingTaskITSFhr::update (Trigger, framework::ServiceRegistry& services )
6763{
68- trendValues ();
64+ auto & qcdb = services.get <repository::DatabaseInterface>();
65+
66+ trendValues (qcdb);
6967
70- storePlots ();
71- storeTrend ();
68+ storePlots (qcdb );
69+ storeTrend (qcdb );
7270}
7371
74- void TrendingTaskITSFhr::finalize (Trigger, framework::ServiceRegistry&)
72+ void TrendingTaskITSFhr::finalize (Trigger, framework::ServiceRegistry& services )
7573{
76- storePlots ();
77- storeTrend ();
74+ auto & qcdb = services.get <repository::DatabaseInterface>();
75+
76+ storePlots (qcdb);
77+ storeTrend (qcdb);
7878}
7979
80- void TrendingTaskITSFhr::storeTrend ()
80+ void TrendingTaskITSFhr::storeTrend (repository::DatabaseInterface& qcdb )
8181{
8282 ILOG (Info) << " Storing the trend, entries: " << mTrend ->GetEntries () << ENDM ;
8383
8484 auto mo = std::make_shared<core::MonitorObject>(mTrend .get (), getName (),
8585 mConfig .detectorName );
8686 mo->setIsOwner (false );
87- mDatabase -> storeMO (mo);
87+ qcdb. storeMO (mo);
8888}
8989
90- void TrendingTaskITSFhr::trendValues ()
90+ void TrendingTaskITSFhr::trendValues (repository::DatabaseInterface& qcdb )
9191{
9292 // We use current date and time. This for planned processing (not history). We
9393 // still might need to use the objects
@@ -104,8 +104,8 @@ void TrendingTaskITSFhr::trendValues()
104104 // todo: make it agnostic to MOs, QOs or other objects. Let the reductor
105105 // cast to whatever it needs.
106106 if (dataSource.type == " repository" ) {
107- // auto mo = mDatabase-> retrieveMO(dataSource.path, dataSource.name);
108- auto mo = mDatabase -> retrieveMO (dataSource.path , " " );
107+ // auto mo = qcdb. retrieveMO(dataSource.path, dataSource.name);
108+ auto mo = qcdb. retrieveMO (dataSource.path , " " );
109109 if (!count) {
110110 std::map<std::string, std::string> entryMetadata = mo->getMetadataMap (); // full list of metadata as a map
111111 mMetaData .runNumber = std::stoi (entryMetadata[" Run" ]); // get and set run number
@@ -117,7 +117,7 @@ void TrendingTaskITSFhr::trendValues()
117117 mReductors [dataSource.name ]->update (obj);
118118 }
119119 } else if (dataSource.type == " repository-quality" ) {
120- auto qo = mDatabase -> retrieveQO (dataSource.path + " /" + dataSource.name );
120+ auto qo = qcdb. retrieveQO (dataSource.path + " /" + dataSource.name );
121121 if (qo) {
122122 mReductors [dataSource.name ]->update (qo.get ());
123123 }
@@ -129,7 +129,7 @@ void TrendingTaskITSFhr::trendValues()
129129 mTrend ->Fill ();
130130}
131131
132- void TrendingTaskITSFhr::storePlots ()
132+ void TrendingTaskITSFhr::storePlots (repository::DatabaseInterface& qcdb )
133133{
134134 ILOG (Info) << " Generating and storing " << mConfig .plots .size () << " plots."
135135 << ENDM ;
@@ -169,7 +169,7 @@ void TrendingTaskITSFhr::storePlots()
169169 ILOG (Info) << " Saving " << plot.name << " to CCDB " << ENDM ;
170170 auto mo = std::make_shared<MonitorObject>(g, mConfig .taskName , mConfig .detectorName );
171171 mo->setIsOwner (false );
172- mDatabase -> storeMO (mo);
172+ qcdb. storeMO (mo);
173173 // It should delete everything inside. Confirmed by trying to delete histo
174174 // after and getting a segfault.
175175 delete g;
@@ -257,7 +257,7 @@ void TrendingTaskITSFhr::storePlots()
257257 auto mo = std::make_shared<MonitorObject>(c[idx], mConfig .taskName ,
258258 mConfig .detectorName );
259259 mo->setIsOwner (false );
260- mDatabase -> storeMO (mo);
260+ qcdb. storeMO (mo);
261261 if (idx % NTRENDSFHR == NTRENDSFHR - 1 )
262262 delete legstaves[idx / NTRENDSFHR ];
263263 delete c[idx];
0 commit comments