#ifndef _constantsLMD_H #define _constantsLMD_H // // detector specifications // const unsigned int nStation = 4;// Number of detector planes //const unsigned int nSensors = 5;// Number of sensors on one half plane const unsigned int nSensors = 1;// Number of sensors in one plane in one sector (modules row) const unsigned int nSides = 2; // Number of halfs const unsigned int nSectors = 5; //Rows of modules in one half /* const unsigned int Stations[nSides*nStation*nSensors*nSectors] = {0,1,2,3,4,5,6,7, */ /* 8,9,10,11,12,13,14,15, */ /* 16,17,18,19, */ /* 20,21,22,23,24,25,26,27,28,29, */ /* 30,31,32,33,34,35,36,37,38,39};// CVD module, 2 half */ /* const double zplanes[nSides*nStation*nSensors*nSectors]={0,0,0,0,0,20,20,20,20,20,30,30,30,30,30,40,40,40,40,40, */ /* 0,0,0,0,0,20,20,20,20,20,30,30,30,30,30,40,40,40,40,40}; */ //const unsigned int nSides = 1; // Number of halfs //const unsigned int nSectors = 1; //Row of modules /* const unsigned int Stations[nSides*nStation*nSensors] = {0,1,2,3,4,5,6,7, */ /* 8,9,10,11,12,13,14,15, */ /* 16,17,18,19};// CVD module, 1 half */ /* const double zplanes[nSides*nStation*nSensors]={0,0,0,0,0,20,20,20,20,20,30,30,30,30,30,40,40,40,40,40}; */ const unsigned int Stations[nStation] = {0,1,2,3};// planes const double zplanes[nStation]={0.,20.,30.,40.}; /* const unsigned int Stations[nSides*nStation*nSensors] = {0,5,10,15};// CVD module, 1 sector */ /* const double zplanes[nSides*nStation*nSensors]={0,20,30,40}; */ /* const unsigned int nSensors = 1;// Number of sensors on one half plane */ /* const unsigned int Stations[nSides*nStation*nSensors] = {0,5,10,15};// CVD module, 1 half */ /* const double zplanes[nSides*nStation*nSensors]={0,20,30,40}; */ /* // */ /* // Misalignment scales */ /* // */ /* const double offsetX = 0.05; */ /* const double offsetY = 0.05; */ /* const double offsetZ = 0.05; */ /* const double offsetA = 0.005; */ /* const double offsetB = 0.005; */ /* const double offsetC = 0.005; */ // // MILLEPEDE tuning // const bool m_dofs[6] = {1,1,1,1,1,1}; // Degrees of freedom to take into account (Boolean version) //const bool m_dofs[6] = {1,1,0,0,0,1}; // Degrees of freedom to take into account (Boolean version) // Individual constraint on alignment constants (set via ParSig in Millepede) // define a constraint for a single global param // param is 'encouraged' to vary within [-sigma;sigma] range //const double m_Sigm[6] = {1e-2,1e-2,-1,-1,-1,1e-3};// //TEST 18/12/2013 //const double m_Sigm[6] = {0.0010,0.0010,0.0010,0.00001,0.00001,0.00001}; // for Dx< 100 mkm! //const double m_Sigm[6] = {0.010,0.010,0.010,0.00001,0.00001,0.00001};// for Dx ~ 200 mkm! const double m_Sigm[6] = {0.0010,0.0010,0.0010,0.0001,0.0001,0.0001};// pixel, for Dx up to 600, Dgamma up to 5 mrad //const double m_Sigm[6] = {0.0010,0.0010,0.10,0.1,0.1,0.0001};// //TEST 29/11/2013 // Cuts on residuals (when fitting the tracks) (in mm) // !!! Adapt them to your situation !!! const double m_res_cut = 100.; const double m_res_cut_init = 1000.; // Larger for the first iteration (you are misaligned !!!) const double m_start_chi_cut = 10000.; //const unsigned int m_nRun = 1; //TEST 29/11/2013 /* const double m_res_cut = 10.0; */ /* const double m_res_cut_init = 100.; // Larger for the first iteration (you are misaligned !!!) */ /* const double m_start_chi_cut = 1000; */ #endif