15 #include "GaudiKernel/ISvcLocator.h"
16 #include "GaudiKernel/Service.h"
26 const std::string& dirName,
27 const std::string& anaTag,
31 m_anaTag( anaTag ) { }
41 return StatusCode::SUCCESS;
50 const std::string& folderOverride,
51 const std::string& nameOverride )
const
55 ISvcLocator* svcLoc = Gaudi::svcLocator();
56 StatusCode sc = svcLoc->service(
"PlotsDefSvc"+m_anaTag, plotsDefSvc );
57 if(
sc.isFailure() ) {
70 if( not folderOverride.empty() ) sDef.
folder( folderOverride );
73 if( not nameOverride.empty() ) sDef.
name( nameOverride );
88 return StatusCode::FAILURE;
94 return StatusCode::SUCCESS;
104 return StatusCode::FAILURE;
110 return StatusCode::SUCCESS;
120 return StatusCode::FAILURE;
127 return StatusCode::SUCCESS;
137 return StatusCode::FAILURE;
143 return StatusCode::SUCCESS;
153 return StatusCode::FAILURE;
159 return StatusCode::SUCCESS;
169 return StatusCode::FAILURE;
171 pHisto = ( def.
nBinsY() == 0 ) ?
179 return StatusCode::SUCCESS;
192 return StatusCode::FAILURE;
195 if( std::isnan(
value ) or std::isnan(
weight ) ) {
196 ATH_MSG_ERROR(
"Non-valid fill arguments for TH1:" << pTh1->GetName() );
197 return StatusCode::FAILURE;
202 return StatusCode::SUCCESS;
212 return StatusCode::FAILURE;
215 if( std::isnan(
xval ) or std::isnan(
yval ) or std::isnan(
weight ) ) {
216 ATH_MSG_ERROR(
"Non-valid fill arguments for TH2:" << pTh2->GetName() );
217 return StatusCode::FAILURE;
222 return StatusCode::SUCCESS;
232 return StatusCode::FAILURE;
235 if( std::isnan(
xval ) or std::isnan(
yval ) or
236 std::isnan( zval ) or std::isnan(
weight ) ) {
237 ATH_MSG_ERROR(
"Non-valid fill arguments for TH3:" << pTh3->GetName() );
238 return StatusCode::FAILURE;
244 return StatusCode::SUCCESS;
252 if( not pTprofile ) {
254 return StatusCode::FAILURE;
257 if( std::isnan(
xval ) or std::isnan(
yval ) or std::isnan(
weight ) ) {
258 ATH_MSG_ERROR(
"Non-valid fill arguments for TProfile:" << pTprofile->GetName() );
259 return StatusCode::FAILURE;
264 return StatusCode::SUCCESS;
272 if( not pTprofile ) {
274 return StatusCode::FAILURE;
277 if( std::isnan(
xval ) or std::isnan(
yval ) or
278 std::isnan( zval ) or std::isnan(
weight ) ) {
279 ATH_MSG_ERROR(
"Non-valid fill arguments for TProfile2D:" << pTprofile->GetName() );
280 return StatusCode::FAILURE;
285 return StatusCode::SUCCESS;
291 TEfficiency* pTeff,
float value,
bool accepted,
float weight )
const
294 ATH_MSG_ERROR(
"Trying to fill non-definded 1D TEfficiency" );
295 return StatusCode::FAILURE;
298 if( std::isnan(
value ) or std::isnan(
weight ) ) {
299 ATH_MSG_ERROR(
"Non-valid fill arguments for 1D TEfficiency:" << pTeff->GetName() );
300 return StatusCode::FAILURE;
306 else pTeff->FillWeighted( accepted,
weight,
value );
307 return StatusCode::SUCCESS;
313 TEfficiency* pTeff2d,
float xvalue,
float yvalue,
bool accepted,
float weight )
const
316 ATH_MSG_ERROR(
"Trying to fill non-definded 2D TEfficiency" );
317 return StatusCode::FAILURE;
320 if( std::isnan( xvalue ) or std::isnan( yvalue ) or std::isnan(
weight ) ) {
321 ATH_MSG_ERROR(
"Non-valid fill arguments for 2D TEfficiency:" << pTeff2d->GetName() );
322 return StatusCode::FAILURE;
327 if(
weight==1.) pTeff2d->Fill( accepted, xvalue, yvalue );
328 else pTeff2d->FillWeighted( accepted,
weight, xvalue, yvalue );
329 return StatusCode::SUCCESS;