#ifndef __TQMultiChannelAnalysisSampleVisitor__
#define __TQMultiChannelAnalysisSampleVisitor__
#include <map>
#include "TTree.h"
#include "QFramework/TQCut.h"
#include "QFramework/TQAnalysisSampleVisitorBase.h"
#include "QFramework/TQAlgorithm.h"
class TQMultiChannelAnalysisSampleVisitor : public TQAnalysisSampleVisitorBase, public TQAlgorithm::Manager {
protected:
bool fUseObservableSets = true;
std::map<TString,TQCut*> fChannels;
bool checkCut(TQCut * baseCut);
bool checkChannel(const TString& pathPattern);
int analyseTree(TQSample * sample, TString& message);
virtual int visitFolder(TQSampleFolder * sampleFolder, TString& message) override;
virtual int revisitFolder(TQSampleFolder * sampleFolder, TString& message) override;
virtual int visitSample(TQSample * sample, TString& message) override;
virtual int revisitSample(TQSample * sample, TString& message) override;
bool stampAllFriends(TQSample* sample) const;
public:
TQMultiChannelAnalysisSampleVisitor();
void printChannels();
void useObservableSets(bool useSets);
void addChannel(const TString& pathPattern, TQCut * baseCut);
TQCut * getBaseCut(const TString& path);
virtual ~TQMultiChannelAnalysisSampleVisitor();
ClassDefOverride(TQMultiChannelAnalysisSampleVisitor, 0);
};
#endif
TQMultiChannelAnalysisSampleVisitor.h:1 TQMultiChannelAnalysisSampleVisitor.h:2 TQMultiChannelAnalysisSampleVisitor.h:3 TQMultiChannelAnalysisSampleVisitor.h:4 TQMultiChannelAnalysisSampleVisitor.h:5 TQMultiChannelAnalysisSampleVisitor.h:6 TQMultiChannelAnalysisSampleVisitor.h:7 TQMultiChannelAnalysisSampleVisitor.h:8 TQMultiChannelAnalysisSampleVisitor.h:9 TQMultiChannelAnalysisSampleVisitor.h:10 TQMultiChannelAnalysisSampleVisitor.h:11 TQMultiChannelAnalysisSampleVisitor.h:12 TQMultiChannelAnalysisSampleVisitor.h:13 TQMultiChannelAnalysisSampleVisitor.h:14 TQMultiChannelAnalysisSampleVisitor.h:15 TQMultiChannelAnalysisSampleVisitor.h:16 TQMultiChannelAnalysisSampleVisitor.h:17 TQMultiChannelAnalysisSampleVisitor.h:18 TQMultiChannelAnalysisSampleVisitor.h:19 TQMultiChannelAnalysisSampleVisitor.h:20 TQMultiChannelAnalysisSampleVisitor.h:21 TQMultiChannelAnalysisSampleVisitor.h:22 TQMultiChannelAnalysisSampleVisitor.h:23 TQMultiChannelAnalysisSampleVisitor.h:24 TQMultiChannelAnalysisSampleVisitor.h:25 TQMultiChannelAnalysisSampleVisitor.h:26 TQMultiChannelAnalysisSampleVisitor.h:27 TQMultiChannelAnalysisSampleVisitor.h:28 TQMultiChannelAnalysisSampleVisitor.h:29 TQMultiChannelAnalysisSampleVisitor.h:30 TQMultiChannelAnalysisSampleVisitor.h:31 TQMultiChannelAnalysisSampleVisitor.h:32 TQMultiChannelAnalysisSampleVisitor.h:33 TQMultiChannelAnalysisSampleVisitor.h:34 TQMultiChannelAnalysisSampleVisitor.h:35 TQMultiChannelAnalysisSampleVisitor.h:36 TQMultiChannelAnalysisSampleVisitor.h:37 TQMultiChannelAnalysisSampleVisitor.h:38 TQMultiChannelAnalysisSampleVisitor.h:39 TQMultiChannelAnalysisSampleVisitor.h:40 TQMultiChannelAnalysisSampleVisitor.h:41 TQMultiChannelAnalysisSampleVisitor.h:42 TQMultiChannelAnalysisSampleVisitor.h:43 TQMultiChannelAnalysisSampleVisitor.h:44 TQMultiChannelAnalysisSampleVisitor.h:45 TQMultiChannelAnalysisSampleVisitor.h:46 TQMultiChannelAnalysisSampleVisitor.h:47 TQMultiChannelAnalysisSampleVisitor.h:48 TQMultiChannelAnalysisSampleVisitor.h:49 TQMultiChannelAnalysisSampleVisitor.h:50