00001 #ifndef QUICK_ANA__EVENT_TOOL_H
00002 #define QUICK_ANA__EVENT_TOOL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <QuickAna/Global.h>
00021
00022 #include <AsgTools/AsgTool.h>
00023 #include <QuickAna/Configuration.h>
00024 #include <QuickAna/IQuickAna.h>
00025
00026 namespace ana
00027 {
00029 class QuickAna : virtual public IQuickAna,
00030 virtual public asg::AsgTool,
00031 public Configuration
00032 {
00033
00034
00035
00036
00037 ASG_TOOL_CLASS2 (QuickAna, ana::IQuickAna, CP::ISystematicsTool)
00038
00039
00040
00041
00042 public:
00043 void testInvariant () const;
00044
00045
00049 public:
00050 QuickAna (const std::string& name);
00051
00052
00055 public:
00056 ~QuickAna ();
00057
00058
00060 #ifndef __CINT__
00061 QuickAna (const QuickAna& that) = delete;
00062 QuickAna& operator = (const QuickAna& that) = delete;
00063 #endif
00064
00065
00069 public:
00070 virtual StatusCode initialize()
00071 #ifndef __CINT__
00072 override
00073 #endif
00074 ;
00075
00076
00080 public:
00081 virtual bool
00082 isAffectedBySystematic (const CP::SystematicVariation& systematic) const
00083 #ifndef __CINT__
00084 override
00085 #endif
00086 ;
00087
00091 public:
00092 virtual CP::SystematicSet
00093 affectingSystematics () const
00094 #ifndef __CINT__
00095 override
00096 #endif
00097 ;
00098
00099
00103 public:
00104 virtual CP::SystematicSet
00105 recommendedSystematics () const
00106 #ifndef __CINT__
00107 override
00108 #endif
00109 ;
00110
00111
00125 public:
00126 virtual CP::SystematicCode
00127 applySystematicVariation (const CP::SystematicSet& systConfig)
00128 #ifndef __CINT__
00129 override
00130 #endif
00131 ;
00132
00134 public:
00135 std::unique_ptr<IToolScheduler> toolScheduler;
00136
00137
00138
00139
00140
00141
00142
00145 public:
00146 virtual StatusCode process ()
00147 #ifndef __CINT__
00148 override
00149 #endif
00150 ;
00151 using IQuickAna::process;
00152
00157 public:
00158 virtual float weight ()
00159 #ifndef __CINT__
00160 override
00161 #endif
00162 ;
00163
00164
00167 public:
00168 virtual float eventWeight ()
00169 #ifndef __CINT__
00170 override
00171 #endif
00172 ;
00173
00174
00177 public:
00178 virtual const IEventObjects& objects () const
00179 #ifndef __CINT__
00180 override
00181 #endif
00182 ;
00183
00184
00186 public:
00187 virtual const InternalConfiguration& internalConfiguration ()
00188 #ifndef __CINT__
00189 override
00190 #endif
00191 ;
00192
00193
00194 virtual xAOD::EventInfo* eventinfo () const
00195 #ifndef __CINT__
00196 override
00197 #endif
00198 ;
00199 virtual xAOD::MuonContainer* muons () const
00200 #ifndef __CINT__
00201 override
00202 #endif
00203 ;
00204 virtual xAOD::ElectronContainer* electrons () const
00205 #ifndef __CINT__
00206 override
00207 #endif
00208 ;
00209 virtual xAOD::PhotonContainer* photons () const
00210 #ifndef __CINT__
00211 override
00212 #endif
00213 ;
00214 virtual xAOD::TauJetContainer* taus () const
00215 #ifndef __CINT__
00216 override
00217 #endif
00218 ;
00219 virtual xAOD::JetContainer* jets () const
00220 #ifndef __CINT__
00221 override
00222 #endif
00223 ;
00224 virtual xAOD::JetContainer* fat_jets () const
00225 #ifndef __CINT__
00226 override
00227 #endif
00228 ;
00229 virtual xAOD::MissingET* met () const
00230 #ifndef __CINT__
00231 override
00232 #endif
00233 ;
00234 virtual xAOD::MissingET* met2 () const
00235 #ifndef __CINT__
00236 override
00237 #endif
00238 ;
00239
00240
00244 public:
00245 virtual const std::vector<CP::SystematicSet>& systematics () const
00246 #ifndef __CINT__
00247 override
00248 #endif
00249 ;
00250
00251
00257 public:
00258 virtual StatusCode
00259 setSystematics (const std::vector<CP::SystematicSet>& val_systematics)
00260 #ifndef __CINT__
00261 override
00262 #endif
00263 ;
00264
00265
00266 public:
00267 virtual EventData getEventData () const override;
00268
00269
00270
00271
00272
00273
00274
00276 private:
00277 struct Pimpl;
00278 Pimpl *pimpl;
00279 };
00280 }
00281
00282 #endif