12#ifndef ALICEO2_TPC_PAINTER_H_
13#define ALICEO2_TPC_PAINTER_H_
64 std::vector<double>
xVals = std::vector<double>(4);
65 std::vector<double>
yVals = std::vector<double>(4);
69 const auto ang = 0.017453292519943295 * angDeg;
70 const auto cs = std::cos(ang);
71 const auto sn = std::sin(ang);
72 for (
size_t i = 0;
i <
xVals.size(); ++
i) {
105 static TCanvas*
draw(
const CalDet<T>& calDet,
int nbins1D = 300,
float xMin1D = 0,
float xMax1D = 0, TCanvas* outputCanvas =
nullptr);
146 static TH2Poly*
makeSectorHist(
const std::string_view
name =
"hSector",
const std::string_view title =
"Sector;local #it{x} (cm);local #it{y} (cm)",
const float xMin = 83.65f,
const float xMax = 247.7f,
const float yMin = -43.7f,
const float yMax = 43.7f,
const Type type =
Type::Pad);
171 static std::vector<TCanvas*>
makeSummaryCanvases(
const CalDet<T>& calDet,
int nbins1D = 300,
float xMin1D = 0,
float xMax1D = 0,
bool onlyFilled =
true, std::vector<TCanvas*>* outputCanvases =
nullptr);
185 static std::vector<TCanvas*>
makeSummaryCanvases(
const std::string_view fileName,
const std::string_view calPadNames,
int nbins1D = 300,
float xMin1D = 0,
float xMax1D = 0,
bool onlyFilled =
true);
199 static std::vector<TCanvas*>
makeSummaryCanvases(TTree&
tree,
const std::string_view
draw, std::string_view cut =
"1",
int nbins1D = 300,
float xMin1D = 0,
float xMax1D = 0);
222 template <
typename DataT>
223 static TH3F
convertCalDetToTH3(
const std::vector<
CalDet<DataT>>& calDet,
const bool norm =
true,
const int nRBins = 150,
const float rMin = 83.5,
const float rMax = 254.5,
const int nPhiBins = 720,
const float zMax = 1);
252 static TMultiGraph*
makeMultiGraph(TTree&
tree, std::string_view varX, std::string_view varsY, std::string_view errVarsY =
"", std::string_view cut =
"",
bool makeSparse =
true);
calibration data from laser track calibration
Class for time synchronization of RawReader instances.
GLuint const GLchar * name
GLint GLint GLsizei GLint GLenum GLenum type
Global TPC definitions and constants.
Drawing helper functions.
void rotate(float angDeg)
std::vector< double > yVals
std::vector< double > xVals
static std::vector< double > getRowBinningCM(uint32_t roc=72)
static std::array< int, 6 > colors
static TH3F convertCalDetToTH3(const std::vector< CalDet< DataT > > &calDet, const bool norm=true, const int nRBins=150, const float rMin=83.5, const float rMax=254.5, const int nPhiBins=720, const float zMax=1)
static std::vector< TCanvas * > makeSummaryCanvases(const LtrCalibData <r, std::vector< TCanvas * > *outputCanvases=nullptr)
make summary canvases for laser calibration data
static std::vector< PadCoordinates > getStackCoordinatesSector()
create a vector of stack corner coordinate for one full sector
static TH2Poly * makeSectorHist(const std::string_view name="hSector", const std::string_view title="Sector;local #it{x} (cm);local #it{y} (cm)", const float xMin=83.65f, const float xMax=247.7f, const float yMin=-43.7f, const float yMax=43.7f, const Type type=Type::Pad)
static std::array< int, 10 > markers
static void fillHistogram2D(TH2 &h2D, const CalDet< T > &calDet, Side side)
static void fillHistogram2D(TH2 &h2D, const CalArray< T > &calArray)
static std::vector< o2::tpc::painter::PadCoordinates > getCoordinates(const Type type)
static TMultiGraph * makeMultiGraph(TTree &tree, std::string_view varX, std::string_view varsY, std::string_view errVarsY="", std::string_view cut="", bool makeSparse=true)
static std::string getROCTitle(const int rocNumber)
ROC title from ROC number.
static std::vector< PadCoordinates > getFECCoordinatesSector()
create a vector of FEC corner coordinates for one full sector
static void drawSectorLocalPadNumberPoly(short padTextColor=kBlack, float lineScalePS=1)
static TCanvas * draw(const CalArray< T > &calArray)
static void adjustPalette(TH1 *h, float x2ndc, float tickLength=0.015)
static void fillPoly2D(TH2Poly &h2D, const CalDet< T > &calDet, Side side)
static TH2 * getHistogram2D(const CalDet< T > &calDet, Side side)
static TH2Poly * makeSideHist(Side side, const Type type=Type::Pad)
static TH2 * getHistogram2D(const CalArray< T > &calArray)
static void drawSectorInformationPoly(short regionLineColor=kRed, short rowTextColor=kRed)
static void drawSectorsXY(Side side, int sectorLineColor=920, int sectorTextColor=1)
draw sector boundaris, side name and sector numbers
static std::vector< PadCoordinates > getPadCoordinatesSector()
create a vector of pad corner coordinate for one full sector
static std::vector< TCanvas * > makeSummaryCanvases(const std::string_view fileName, const std::string_view calPadNames, int nbins1D=300, float xMin1D=0, float xMax1D=0, bool onlyFilled=true)
static TCanvas * makeJunkDetectionCanvas(const TObjArray *data, TCanvas *outputCanvas=nullptr)
make a canvas for junk detection data
static TCanvas * draw(const CalDet< T > &calDet, int nbins1D=300, float xMin1D=0, float xMax1D=0, TCanvas *outputCanvas=nullptr)
static std::vector< TCanvas * > makeSummaryCanvases(const CalDet< T > &calDet, int nbins1D=300, float xMin1D=0, float xMax1D=0, bool onlyFilled=true, std::vector< TCanvas * > *outputCanvases=nullptr)
std::unique_ptr< TTree > tree((TTree *) flIn.Get(std::string(o2::base::NameConf::CTFTREENAME).c_str()))