|
ATLAS Offline Software
|
Go to the documentation of this file.
29 #define CHECK( ARG ) \
31 const bool result = ARG; \
33 ::Error(APP_NAME, "Failed to execute: \"%s\"", \
68 StatusCode::enableFailure();
79 Info(
APP_NAME,
"Number of events in the file: %i",
87 Long64_t
entries =
event.getEntries();
89 const Long64_t
e = atoll(
argv[2]);
98 std::string esModel =
"es2017_R21_v1";
99 CHECK( energyRescaler->setProperty(
"ESModel", esModel) );
101 ToolHandle<CP::IEgammaCalibrationAndSmearingTool> energyRescalerTool(energyRescaler->name());
105 CHECK( fsrTool.setProperty<
double>(
"far_fsr_drcut", 0.12) );
107 CHECK( fsrTool.setProperty(
"egCalibToolName", energyRescaler->name()) );
119 event.getEntry(
entry);
140 std::pair< xAOD::ElectronContainer*, xAOD::ShallowAuxContainer* > electrons_shallowCopy =
145 CHECK(
store->
record( electrons_shallowCopy.second,
"ElectronsCorrAux." ) );
151 Error(
APP_NAME,
"Unable to setOriginalObjectLink for electron containers ");
159 std::pair< xAOD::PhotonContainer*, xAOD::ShallowAuxContainer* > photons_shallowCopy =
168 Error(
APP_NAME,
"Unable to setOriginalObjectLink for photon containers ");
174 double tmp_energy = -999.;
175 double fsr_energy = 0.;
176 TLorentzVector fsr_tlv;
179 for(
auto muon : *muons ) {
183 Info(
APP_NAME,
" FSR candidate found !!!!!!!! ");
184 Info(
APP_NAME,
" container = %s deltaR = %f Et = %f f1 = %f"
185 " eta = %f phi = %f phIso = %f fsrtype = %i",
188 candidate.
eta, candidate.
phi,
196 else if (candidate.
container ==
"electron" ) {
200 Info(
APP_NAME,
" FSR candidate particle is unknown " );
202 if ( fsr_energy > tmp_energy ) {
203 tmp_energy = fsr_energy;
204 fsr_tlv.SetPtEtaPhiE(candidate.
Et, candidate.
eta, candidate.
phi, fsr_energy);
ReadStats & stats()
Access the object belonging to the current thread.
@ kClassAccess
Access auxiliary data using the aux containers.
StatusCode readFrom(TFile *file)
POOL::TEvent event(POOL::TEvent::kClassAccess)
static IOStats & instance()
Singleton object accessor.
void printSmartSlimmingBranchList(bool autoIncludeLinks=false) const
Print the accessed variables, formatted for smart slimming.
const xAOD::IParticle * particle
void record(const T *p, const std::string &key)
std::pair< std::unique_ptr< T >, std::unique_ptr< ShallowAuxContainer > > shallowCopyContainer(const T &cont, [[maybe_unused]] const EventContext &ctx)
Function making a shallow copy of a constant container.
@ Ok
The correction was done successfully.
Simple interface for searching the FSR candidate.
A relatively simple transient store for objects created in analysis.
StatusCode retrieve(const T *&obj)
bool setOriginalObjectLink(const IParticle &original, IParticle ©)
This function should be used by CP tools when they make a deep copy of an object in their correctedCo...
Error
The different types of error that can be flagged in the L1TopoRDO.
Tool for accessing xAOD files outside of Athena.
StatusCode Init(const char *appname)
Function initialising ROOT/PyROOT for using the ATLAS EDM.