42TChain *
getChain(
int argc,
char* argv[],
const char *chainName =
"CollectionTree");
44int main(
int argc,
char* argv[] ) {
49 auto chain =
getChain(argc, argv,
"CollectionTree");
50 if (chain ==
nullptr) {
65 auto outputFile = TFile::Open(
OUTPUT_FILE,
"RECREATE");
66 if (outputFile ==
nullptr || !outputFile->IsOpen()) {
70 auto hRingsE =
new TH1F(
"RingsE",
"Rings energy dist", 30, 0.0, 1.0);
71 hRingsE->GetXaxis()->SetCanExtend(kTRUE);
72 hRingsE->SetStats(
false);
74 auto hOutput =
new TH1F(
"NeuralRingerOffline",
"Neural Ringer Offline", 30, -1.0, 1.0);
75 hOutput->SetStats(
false);
77 auto hNNvrEta =
new TH2F(
"NNOutput vs rEta",
78 "NNOutput w.r.t rEta;rEta;NNOutput",
79 50, 0, 1.2, 50, -1.00, 1.00);
80 hNNvrEta->SetOption(
"COLZ");
81 hNNvrEta->SetStats(
false);
85 std::vector<float> ringsE;
88 size_t nEntries = chain->GetEntries();
89 for (
size_t entry = 0; entry < nEntries; entry++) {
91 event.getEntry(entry);
96 if ( event.retrieve(electronCont,
"Electrons").isSuccess() ){
100 (*clRingsEL)->exportRingsTo(ringsE);
101 for (
auto ringE : ringsE ){
102 hRingsE->Fill( ringE );
107 float output = looseOutput( *
electron );
108 hOutput->Fill( output );
113 std::cout <<
"Could not retrieve electrons container" << std::endl;
117 auto metaChain =
getChain(argc, argv,
"MetaData");
125 size_t nEntriesMeta = metaChain->GetEntries();
126 for (
size_t entry = 0; entry < nEntriesMeta; entry++) {
128 std::cout <<
" :: Entry :: " << entry <<
"/" << nEntriesMeta << std::endl;
129 std::cout <<
"----------------- Reading RingSetConfs ------------------- " << std::endl;
130 if ( metaEvent.
retrieve(electronRingSetConf,
"ElectronRingSetsConf").isSuccess() ){
133 ringsConf->print(std::cout);
135 std::cout <<
"----------------- Printing its RawConfCollection ------------------- " << std::endl;
139 }
catch (
const std::runtime_error &
e) {
140 std::cout <<
"Coudln't read RingSetConfs, reason: " <<
e.what() << std::endl;
143 std::cout <<
"ElectronRingSetsConf not available." << std::endl;
148 auto canvas =
new TCanvas(
"RingsEnergyHist");
150 canvas->SaveAs(
"ringsE.gif");
151 canvas->SaveAs(
"ringsE.eps");
152 canvas =
new TCanvas(
"NNOutput");
154 canvas->SaveAs(
"nnOutput.gif");
155 canvas->SaveAs(
"nnOutput.eps");
156 canvas =
new TCanvas(
"NNOutVsReta");
158 canvas->SaveAs(
"nnWrtReta.gif");
159 canvas->SaveAs(
"nnWrtReta.eps");
167TChain *
getChain(
int argc,
char* argv[],
const char *chainName)
174 auto chain =
new TChain( chainName );
175 for (
int i = 1; i < argc; i++) {
#define RETURN_CHECK(CONTEXT, EXP)
Helper macro for checking return codes in a compact form in the code.
ElementLink implementation for ROOT usage.
SG::ConstAccessor< T, ALLOC > ConstAccessor
Class describing an electron.
StatusCode retrieve(const T *&obj, const std::string &key)
Retrieve either an input or an output object from the event.
std::vector< RawConf > RawConfCollection
typedef The raw configuration structure data holder
static void print(const RawConf &raw, std::ostream &stream)
Prints rawConf.
static void getRawConfCol(RawConfCollection &rawConfCol, const RingSetConfContainer_v1 *container)
Retrieve RawConfCollection from RingSetConf container.
Tool for accessing xAOD files outside of Athena.
@ kClassAccess
Access auxiliary data using the aux containers.
@ kBranchAccess
Access auxiliary data branch-by-branch.
StatusCode readFrom(::TFile *file, bool useTreeCache=true, std::string_view treeName=EVENT_TREE_NAME)
Connect the object to a new input file.
::Int_t getEntry(::Long64_t entry, ::Int_t getall=0)
Function loading a given entry of the input TTree.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
StatusCode Init(const char *appname)
Function initialising ROOT/PyROOT for using the ATLAS EDM.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
RingSetConf_v1 RingSetConf
Definition of the current "RingSetConf version".
EventInfo_v1 EventInfo
Definition of the latest event info version.
std::vector< ElementLink< CaloRingsContainer > > CaloRingsLinks
ElementLink type pointing at such objects.
const caloRingsReader_t & getCaloRingsReader()
Get CaloRings accessor with read only permissions.
RingSetConfContainer_v1 RingSetConfContainer
Definition of the current "RingSetConf container version".
TChain * getChain(int argc, char *argv[], const char *chainName="CollectionTree")