/* * TofDedxVsBetaHistoAction.h * * Created on: 25-giu-2009 * Author: Nicola Mori */ /*! @file TofDedxVsBetaHistoAction.h The TofDedxVsBetaHistoAction class declaration file. */ #ifndef TOFDEDXVSBETAHISTOACTION_H_ #define TOFDEDXVSBETAHISTOACTION_H_ #include "../Histo2DAction/Histo2DAction.h" /*! @brief An action that fills a TOF dE/dx Vs Beta histogram. */ class TofDedxVsBetaHistoAction: public Histo2DAction { public: /*! @brief Constructor. * * @param actionName The action's name. * @param layers The layers from which dE/dx is measured. See #TOFLAYERS. If combinations like * S11+S12 are used, the mean dE/dx will be used. * @param standAlone If true, the standalone TOF track will be used to compute beta; otherwise * the track associated to the physical track will be used. * @param outFileBase The file base name for the ROOT histogram output (".root" will be appended). * If "", no ROOT output will be produced. * @param mode The mode of ROOT file creation (see documentation of TFile constructor * in ROOT's reference guide). * @param outRoot If true, an output ROOT file named outFileBase + ".root" will be produced. * @param outText If true, an output text file named outFileBase + ".txt" will be produced. It will overwrite an * eventually existing file with the same name. * @param title The ROOT histogram title. If "", the constructor will create a title based on the layers parameter. */ TofDedxVsBetaHistoAction(const char *actionName, unsigned int layers, bool standAlone = true, TString outFileBase = "", TString mode = "UPDATE", bool outRoot = true, bool outText = true, TString title = ""); /*! @brief Destructor. */ ~TofDedxVsBetaHistoAction() { } /*! @brief Fills histogram with the selected event. * * @param event The selected event. */ void OnGood(PamLevel2 *event); /*! @brief Returns the number of bad events. * * @return The number of events which were discarded because they contain a bad enrgy measurement * on at least one of the selected layers. */ unsigned int GetNBadEvents() { return _badEvents; } private: unsigned int _layers; unsigned int _nLayers; unsigned int _badEvents; bool _standAlone; }; #endif /* TOFDEDXVSBETAHISTOACTION_H_ */