- /*
- * TbUTPedestalSubtractorAlgorithm.h
- *
- * Created on: Oct 14, 2014
- * Author: ADendek
- */
-
- #pragma once
- #include "GaudiAlg/GaudiAlgorithm.h"
-
- #include "TbUTRawData.h"
- #include "TbUTPedestalFollowingFactory.h"
- #include "TbUTIPedestalFollowing.h"
- #include "TbUTPedestalSubtractor.h"
- #include "TbUTChannelMaskProvider.h"
- #include "TbUTChannelMaskFileValidator.h"
- #include "TbUTPedestal.h"
- #include "TbUTPedestalFileValidator.h"
-
-
- #include <string>
- #include <boost/shared_ptr.hpp>
-
- namespace TbUT
- {
-
- class PedestalSubtractorAlgorithm: public GaudiAlgorithm
- {
- typedef boost::shared_ptr<IPedestalFollowing> PedestalFollowingPtr;
-
- enum RunPhase
- {
- SKIPP,
- TREANING,
- SUBTRACTION
- };
-
- public:
- PedestalSubtractorAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
-
- virtual StatusCode initialize();
- virtual StatusCode execute();
- virtual StatusCode finalize();
-
- private:
-
- StatusCode initializeBase();
- StatusCode buildFollowing();
- StatusCode retriveMasksFromFile();
-
- void skippEvent();
- void processTreaning();
- void subtractPedestals();
-
- StatusCode getData();
- void processAndSaveDataToTES();
- StatusCode savePedestalsToFile();
-
- RunPhase getRunPhase();
-
- bool m_isStandalone;
- RawDataContainer<>* m_dataContainer;
- RawData<>* m_data;
- RawDataContainer<>* m_outputDataContainer;
-
- std::string m_inputDataLocation;
- std::string m_outputDataLocation;
- std::string m_pedestalInputLocation;
- std::string m_pedestalOutputLocation;
- std::string m_channelMaskInputLocation;
- std::string m_followingOption;
- int m_event;
- int m_treningEventNumber;
- int m_skippEvent;
-
- ChannelMaskFileValidator m_channelMaskFileValidator;
- ChannelMaskProvider m_channelMaskProvider;
- Pedestal m_pedestal;
- PedestalFileValidator m_pedestalFileValidator;
- PedestalFollowingFactory m_followingFactory;
- PedestalFollowingPtr m_pedestalFollowingPtr;
- PedestalSubtractor m_pedestalSubtractor;
-
- };
-
- }
-