#ifndef __TQGraphMakerAnalysisJob__
#define __TQGraphMakerAnalysisJob__
#include "QFramework/TQObservable.h"
#include "QFramework/TQAnalysisJob.h"
#include "QFramework/TQMessageStream.h"
#include "TList.h"
#include "QFramework/TQTaggable.h"
#include "QFramework/TQCut.h"
class TQGraphMakerAnalysisJob : public TQAnalysisJob {
protected:
static TQMessageStream f_ErrMsg;
int f_Verbose;
std::vector<TNamed*> fGraphTemplates;
std::vector<std::vector<TString> > fExpressions;
std::vector<std::vector<TQObservable*> > fObservables;
std::vector<TClass*> fGraphTypes;
std::vector<TNamed*> fGraphs;
void setErrorMessage(TString message);
void initializeGraphs();
bool finalizeGraphs();
TQSampleFolder* poolAt;
public:
TQGraphMakerAnalysisJob();
TQGraphMakerAnalysisJob(TQGraphMakerAnalysisJob* other);
static const TString& getValidNameCharacters();
static int importJobsFromTextFiles(const TString& files, TQCut* basecut, const TString& channelfilter = "*", bool verbose = false);
static int importJobsFromTextFiles(const TString& files, TQCut* basecut, TQTaggable* aliases, const TString& channelfilter = "*", bool verbose = false);
static int importJobsFromTextFiles(const std::vector<TString>& filenames, TQCut* basecut, const TString& channelFilter = "*", bool verbose = false);
static int importJobsFromTextFiles(const std::vector<TString>& filenames, TQCut* basecut, TQTaggable* aliases, const TString& channelFilter = "*", bool verbose = false);
bool initializeSampleFolder(TQSampleFolder* sf) override;
bool finalizeSampleFolder (TQSampleFolder* sf) override;
bool bookGraph(TString definition, TQTaggable* aliases = NULL);
void cancelGraph(const TString& name);
void printBooking(const TString& moretext);
void printBookingTeX(const TString& moretext);
static void clearMessages();
void setVerbose(int verbose);
int getVerbose();
virtual TQAnalysisJob * getClone() override;
virtual void reset() override;
virtual void print(const TString& options) override;
static TString getErrorMessage();
virtual bool initializeSelf() override;
virtual bool finalizeSelf() override;
virtual bool execute(double weight) override;
virtual TObjArray * getBranchNames() override;
virtual ~TQGraphMakerAnalysisJob();
ClassDefOverride(TQGraphMakerAnalysisJob, 0);
};
#endif
TQGraphMakerAnalysisJob.h:1 TQGraphMakerAnalysisJob.h:2 TQGraphMakerAnalysisJob.h:3 TQGraphMakerAnalysisJob.h:4 TQGraphMakerAnalysisJob.h:5 TQGraphMakerAnalysisJob.h:6 TQGraphMakerAnalysisJob.h:7 TQGraphMakerAnalysisJob.h:8 TQGraphMakerAnalysisJob.h:9 TQGraphMakerAnalysisJob.h:10 TQGraphMakerAnalysisJob.h:11 TQGraphMakerAnalysisJob.h:12 TQGraphMakerAnalysisJob.h:13 TQGraphMakerAnalysisJob.h:14 TQGraphMakerAnalysisJob.h:15 TQGraphMakerAnalysisJob.h:16 TQGraphMakerAnalysisJob.h:17 TQGraphMakerAnalysisJob.h:18 TQGraphMakerAnalysisJob.h:19 TQGraphMakerAnalysisJob.h:20 TQGraphMakerAnalysisJob.h:21 TQGraphMakerAnalysisJob.h:22 TQGraphMakerAnalysisJob.h:23 TQGraphMakerAnalysisJob.h:24 TQGraphMakerAnalysisJob.h:25 TQGraphMakerAnalysisJob.h:26 TQGraphMakerAnalysisJob.h:27 TQGraphMakerAnalysisJob.h:28 TQGraphMakerAnalysisJob.h:29 TQGraphMakerAnalysisJob.h:30 TQGraphMakerAnalysisJob.h:31 TQGraphMakerAnalysisJob.h:32 TQGraphMakerAnalysisJob.h:33 TQGraphMakerAnalysisJob.h:34 TQGraphMakerAnalysisJob.h:35 TQGraphMakerAnalysisJob.h:36 TQGraphMakerAnalysisJob.h:37 TQGraphMakerAnalysisJob.h:38 TQGraphMakerAnalysisJob.h:39 TQGraphMakerAnalysisJob.h:40 TQGraphMakerAnalysisJob.h:41 TQGraphMakerAnalysisJob.h:42 TQGraphMakerAnalysisJob.h:43 TQGraphMakerAnalysisJob.h:44 TQGraphMakerAnalysisJob.h:45 TQGraphMakerAnalysisJob.h:46 TQGraphMakerAnalysisJob.h:47 TQGraphMakerAnalysisJob.h:48 TQGraphMakerAnalysisJob.h:49 TQGraphMakerAnalysisJob.h:50 TQGraphMakerAnalysisJob.h:51 TQGraphMakerAnalysisJob.h:52 TQGraphMakerAnalysisJob.h:53 TQGraphMakerAnalysisJob.h:54 TQGraphMakerAnalysisJob.h:55 TQGraphMakerAnalysisJob.h:56 TQGraphMakerAnalysisJob.h:57 TQGraphMakerAnalysisJob.h:58 TQGraphMakerAnalysisJob.h:59 TQGraphMakerAnalysisJob.h:60 TQGraphMakerAnalysisJob.h:61 TQGraphMakerAnalysisJob.h:62 TQGraphMakerAnalysisJob.h:63 TQGraphMakerAnalysisJob.h:64 TQGraphMakerAnalysisJob.h:65 TQGraphMakerAnalysisJob.h:66 TQGraphMakerAnalysisJob.h:67 TQGraphMakerAnalysisJob.h:68 TQGraphMakerAnalysisJob.h:69 TQGraphMakerAnalysisJob.h:70 TQGraphMakerAnalysisJob.h:71 TQGraphMakerAnalysisJob.h:72 TQGraphMakerAnalysisJob.h:73 TQGraphMakerAnalysisJob.h:74 TQGraphMakerAnalysisJob.h:75 TQGraphMakerAnalysisJob.h:76 TQGraphMakerAnalysisJob.h:77 TQGraphMakerAnalysisJob.h:78 TQGraphMakerAnalysisJob.h:79 TQGraphMakerAnalysisJob.h:80 TQGraphMakerAnalysisJob.h:81 TQGraphMakerAnalysisJob.h:82 TQGraphMakerAnalysisJob.h:83 TQGraphMakerAnalysisJob.h:84