source: trunk/MagicSoft/Mars/mjobs/MJCut.h@ 6965

Last change on this file since 6965 was 6949, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 2.0 KB
Line 
1#ifndef MARS_MJCut
2#define MARS_MJCut
3
4#ifndef MARS_MJob
5#include "MJob.h"
6#endif
7
8class MTask;
9class MDataSet;
10class MParList;
11class MWriteRootFile;
12
13class MJCut : public MJob
14{
15private:
16 Bool_t fStoreSummary;
17 Bool_t fStoreResult;
18 Bool_t fWriteOnly;
19 Bool_t fIsWobble;
20 Bool_t fIsMonteCarlo;
21 Bool_t fFullDisplay;
22 //Bool_t fSubstraction;
23
24 TString fNameSummary;
25 TString fNameResult;
26 TString fNameOutput;
27
28 MTask *fEstimateEnergy;
29 MTask *fCalcHadronness;
30
31 TString GetOutputFile(UInt_t num) const;
32 Bool_t CheckEnvLocal();
33 void SetupWriter(MWriteRootFile *write, const char *name) const;
34 Bool_t WriteTasks(UInt_t num, TObjArray &cont) const;
35 Bool_t WriteResult(const MParList &plist, UInt_t num) const;
36 void DisplayResult(const MParList &plist) const;
37
38 Bool_t CanStoreSummary() const { return !fPathOut.IsNull() && fStoreSummary; }
39 Bool_t CanStoreResult() const { return !fPathOut.IsNull() && fStoreResult; }
40
41public:
42 MJCut(const char *name=NULL, const char *title=NULL);
43 ~MJCut();
44
45 Bool_t ProcessFile(const MDataSet &set);
46
47 void EnableStorageOfSummary(Bool_t b=kTRUE) { fStoreSummary = b; } // See SetNameSummary
48 void EnableStorageOfResult(Bool_t b=kTRUE) { fStoreResult = b; } // See SetNameResult
49 void EnableWriteOnly(Bool_t b=kTRUE) { fWriteOnly = b; }
50 void EnableWobbleMode(Bool_t b=kTRUE) { fIsWobble = b; }
51 void EnableMonteCarloMode(Bool_t b=kTRUE) { fIsMonteCarlo = b; }
52 void EnableFullDisplay(Bool_t b=kTRUE) { fFullDisplay = b; }
53 //void EnableSubstraction(Bool_t b=kTRUE) { fSubstraction = b; }
54
55 void SetNameSummaryFile(const char *name="");
56 void SetNameResultFile(const char *name="");
57 void SetNameOutFile(const char *name="") { fNameOutput=name; }
58
59 void SetEnergyEstimator(const MTask *task=0);
60 void SetHadronnessCalculator(const MTask *task=0);
61
62 ClassDef(MJCut, 0) // Standard program to perform g/h-separation cuts
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.