ATLAS Offline Software
Loading...
Searching...
No Matches
test-jet-links.cxx
Go to the documentation of this file.
1// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
2
7
9
10#include "TFile.h"
11#include "TTree.h"
12#include "TError.h"
13
14int main ATLAS_NOT_THREAD_SAFE (int argc, char *argv[]) {
15
17 using namespace asg::msgUserCode;
18 gErrorIgnoreLevel = kError;
19
20 if (argc != 4) {
21 std::cerr << "usage: " << argv[0] << ": <DAOD> <parent jet collection> <associated collection>"
22 << std::endl;
23 return 1;
24 }
25 std::string file = argv[1];
26 std::string jets_name = argv[2];
27 std::string linked_jets_name = argv[3];
28
29 // The name of the application:
30 const std::string APP_NAME = "JetLinksTestDumper";
31
32 // Set up the environment:
34
35 // Set up the event object:
37
38 // Open the file:
39 std::unique_ptr<TFile> ifile(TFile::Open(file.c_str(), "READ"));
40 if ( ! ifile.get() || ifile->IsZombie()) {
41 std::cerr << "Couldn't open file: " << file << std::endl;
42 return 1;
43 }
44
45 // Connect the event object to it:
46 ANA_CHECK( event.readFrom(ifile.get()) );
47
48 unsigned long long nbad = 0;
49 unsigned long long ngood = 0;
50 unsigned long long entries = event.getEntries();
51 for (unsigned long long entry = 0; entry < entries; ++entry) {
52 // Load the event:
53 if (event.getEntry(entry) < 0) {
54 std::cerr << "Couldn't load entry " << entry << " from file"
55 << file << std::endl;
56 return 1;
57 }
58 const xAOD::JetContainer *jets = nullptr;
59 ANA_CHECK( event.retrieve(jets, jets_name) );
60 for (const xAOD::Jet *const jet : *jets) {
61 std::vector<const xAOD::Jet*> linked_jets;
62 if (!jet->getAssociatedObjects<xAOD::Jet>(linked_jets_name, linked_jets)){
63 nbad++;
64 } else {
65 ngood++;
66 }
67 }
68 }
69 std::cout << "JetLinksTestDumper Summary: found " << nbad << " out of " << nbad + ngood <<" large-R jets with no valid links to associated track-jets " << std::endl;
70 return nbad > 0;
71}
#define APP_NAME
macros for messaging and checking status codes
#define ANA_CHECK(EXP)
check whether the given expression was successful
#define ANA_CHECK_SET_TYPE(TYPE)
set the type for ANA_CHECK to report failures
int main(int, char **)
Main class for all the CppUnit test classes.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Tool for accessing xAOD files outside of Athena.
@ kClassAccess
Access auxiliary data using the aux containers.
double entries
Definition listroot.cxx:49
Jet_v1 Jet
Definition of the current "jet version".
StatusCode Init(const char *appname)
Function initialising ROOT/PyROOT for using the ATLAS EDM.
Definition Init.cxx:31
JetContainer_v1 JetContainer
Definition of the current "jet container version".
TFile * file