12#ifndef CbmBbaAlignmentMcbmTask_H
13#define CbmBbaAlignmentMcbmTask_H
38 TString histoFileName =
"./CbmBbaAlignmentHisto.root");
44 void Exec(Option_t* opt);
67 static int GetSensorId(
const Node& node) {
return node.userReferences[3]; }
69 static void SetSensorId(Node& node,
int sensorId) { node.userReferences[3] = sensorId; }
ECbmModuleId
Enumerator for module Identifiers.
void SetSensorId(size_t inode, int sensorId)
static void SetSensorId(Node &node, int sensorId)
static int GetSensorId(const Node &node)
TClonesArray * fInputStsTracks
TString fsMatrixOutFileName
TClonesArray * fInputStsTrackMatches
void ApplyConstraints(std::vector< double > &par)
TClonesArray * fInputMcTracks
void ConstrainStation(std::vector< double > &par, int iSta, int ixyz)
TrackingMode fTrackingMode
std::vector< TH1F * > hPullsAfterAlignmentX
std::vector< TH1F * > hResidualsBeforeAlignmentY
TClonesArray * fInputGlobalTracks
ClassDef(CbmBbaAlignmentMcbmTask, 1)
std::vector< Sensor > fSensors
std::vector< TH1F * > hPullsBeforeAlignmentY
double CostFunction(const std::vector< double > &par)
CbmKfTrackFitter< cbm::algo::kf::DoFitTime::N > fFitter
void SetSimulatedMisalignmentRange(double range)
void SetStsTrackingMode()
void ApplyAlignment(const std::vector< double > &par)
const CbmBbaAlignmentMcbmTask & operator=(const CbmBbaAlignmentMcbmTask &)
std::vector< TH1F * > hPullsBeforeAlignmentX
void WriteHistosCurFile(TObject *obj)
std::vector< TH1F * > hPullsAfterAlignmentY
TClonesArray * fInputGlobalTrackMatches
Int_t GetZtoNStation(Double_t getZ)
std::vector< TH1F * > hResidualsAfterAlignmentX
CbmBbaAlignmentMcbmTask(const char *name="CbmBbaAlignmentMcbmTask", Int_t iVerbose=0, TString histoFileName="./CbmBbaAlignmentHisto.root")
std::vector< TrackContainer > fTracks
std::vector< TH1F * > hResidualsAfterAlignmentY
std::vector< AlignmentBody > fAlignmentBodies
~CbmBbaAlignmentMcbmTask()
double fSimulatedMisalignmentRange
void SetMatrixOutFileName(TString sMatrixOutFileName)
void SetRandomSeed(int seed)
CbmBbaAlignmentMcbmTask(const CbmBbaAlignmentMcbmTask &)
void SetMcbmTrackingMode()
std::vector< TH1F * > hResidualsBeforeAlignmentX
std::vector< Node > fNodes
friend class ::CbmKfTrackFitter
TrackParam< double > TrackParamD
@ N
Do not fit the time component.
bool operator<(const Sensor &other) const
bool operator==(const Sensor &other) const
cbm::algo::kf::TrackParamD fFittedAlignedTrackParam
Trajectory fUnalignedTrack