/// /// For questions or suggestions about this module please contact the /// current responsible and CC in the oaAnalysis package manager. /// /// 12-Nov-2010: Current responsible for this module is, /// Francesca Di Lodovico (f.di.lodovico [*a*t*] qmul.ac.uk) /// #ifndef TBasicDataQualityModule_hxx_seen #define TBasicDataQualityModule_hxx_seen #include "IDataQuality.hxx" #include #include #include #include #include #include "IG4PrimaryParticle.hxx" #include "IAnalysisHeaderModuleBase.hxx" namespace COMET { class IBasicDataQualityModule; }; /// An analysis module which add the data quality branch to the /// HeaderDir branch. It contains the data quality flags for the /// COMET off-axis sub-detectors, the global COMET off-axis detector /// (ie when all the sub-detectors are quality-assessed good) /// and the INGRID detector. /// For COMET off-axis, the data to be used for the analyses are the ones /// with the global COMET off-axis detector assessed good. /// By convention, the data quality flag is 0 if the event is good, /// >0 if otherwise. class COMET::IBasicDataQualityModule : public IAnalysisHeaderModuleBase { public: IBasicDataQualityModule(const char *name = "BasicDataQuality", const char *title = "Basic DataQuality Module"); virtual ~IBasicDataQualityModule(); virtual Bool_t IsEnabledByDefault() const {return kTRUE;} UInt_t GetEventTime() { return fEventTime; } virtual Bool_t ProcessFirstEvent(COMET::ICOMETEvent&); protected: virtual void InitializeBranches(); virtual bool FillTree(COMET::ICOMETEvent&); public: /// DQ object COMET::IDataQuality dqObject; //! //Tree Entries /// Event timestamp UInt_t fEventTime; //! /// COMET Off flag Int_t fCOMETOffFlag; //! /// TPC flag Int_t fTPCFlag; //! /// TPC1 flag Int_t fTPC1Flag; //! /// TPC2 flag Int_t fTPC2Flag; //! /// TPC3 flag Int_t fTPC3Flag; //! /// FGD flag Int_t fFGDFlag; //! /// FGD1 flag Int_t fFGD1Flag; //! /// FGD2 flag Int_t fFGD2Flag; //! /// ECAL flag Int_t fECALFlag; //! /// DSECAL flag Int_t fDSECALFlag; //! /// BarECAL flag Int_t fBarECALFlag; //! /// P0DECAL flag Int_t fP0DECALFlag; //! /// P0D flag Int_t fP0DFlag; //! /// SMRD flag Int_t fSMRDFlag; //! /// MAGNET flag Int_t fMAGNETFlag; //! /// INGRID flag Int_t fINGRIDFlag; //! private: ClassDef(IBasicDataQualityModule,1); }; #endif