FairRoot/PandaRoot
Functions
runLumiPixel2fMatrixFinder.C File Reference

Go to the source code of this file.

Functions

int runLumiPixel2fMatrixFinder (TString pairFilePath="tmpOutput", TString binaryPairFilePath="", TString LMDmatrixDir="", bool incentimeters=true, const int verboseLevel=2)
 

Function Documentation

int runLumiPixel2fMatrixFinder ( TString  pairFilePath = "tmpOutput",
TString  binaryPairFilePath = "",
TString  LMDmatrixDir = "",
bool  incentimeters = true,
const int  verboseLevel = 2 
)

Definition at line 32 of file runLumiPixel2fMatrixFinder.C.

References PndLmdAlignManager::addFilesFromDirectory(), PndLmdAlignManager::alignAllSensors(), PndLmdAlignManager::checkForBinaryFiles(), PndLmdAlignManager::checkForLmdMatrixFiles(), PndLmdAlignManager::readFilesAndAlign(), PndLmdAlignManager::readPairsFromBinaryFiles(), PndLmdAlignManager::setBinaryPairFileDirectory(), PndLmdAlignManager::setInCentimeters(), PndLmdAlignManager::setMatrixOutDir(), PndLmdAlignManager::setMaxPairs(), verboseLevel, PndLmdAlignManager::verboseLevel(), and PndLmdAlignManager::waitForCompletion().

34  {
35  // ----- Timer --------------------------------------------------------
36 
37  //do we really need those?
38  gSystem->Load("libLmd");
39  gSystem->Load("libLmdSensorAligner");
40 
41  // ---------------------- init parameters
42 
43  string pandaDir = getenv("VMCWORKDIR");
44 
45  // don't forget trailing slashes!!
46  if (LMDmatrixDir == "") {
47  LMDmatrixDir = pairFilePath + "/LMDmatrices/";
48  }
49  if (binaryPairFilePath == "") {
50  binaryPairFilePath = pairFilePath + "/binaryPairs/";
51  }
52 
53  int readNoOfFiles = 0; //how many files should be processed? 0 for all
54 
55  // ---------------------- init Matrix Finder
56 
57  cout << "searching available files...\n";
58 
59  PndLmdAlignManager manager;
60  manager.setInCentimeters(incentimeters);
61  manager.setBinaryPairFileDirectory(binaryPairFilePath.Data());
62  manager.setMaxPairs(300e3);
63  manager.verboseLevel(verboseLevel);
64 
65  // ---------------------- check for binary files and sort/write, if necessary
66  bool binaryPairsPresent = manager.checkForBinaryFiles();
67 
68  if (!binaryPairsPresent) {
69  manager.addFilesFromDirectory(pairFilePath.Data(), readNoOfFiles);
70  manager.setMatrixOutDir(LMDmatrixDir.Data());
71 
72  manager.readFilesAndAlign();
73  manager.waitForCompletion();
74  return 0;
75  }
76 
77  //check for LMD Matrix Files
78  bool LMDMatrixFilesPresent = manager.checkForLmdMatrixFiles();
79  if (!LMDMatrixFilesPresent) {
80  cout << "reading binary pair files.\n";
81  manager.setMatrixOutDir(LMDmatrixDir.Data());
82  manager.readPairsFromBinaryFiles();
83  manager.alignAllSensors();
84  }
85 
86  //manager.computeCombinedMatrices();
87 
88  // ---------------------- compute absolute correction matrices from overlap matrices and store to PndLmdDim format, compare to pndLmdDim
89 
90  //TODO: well, this ^
91 
92  // steps:
93  /*
94  * gather all modules
95  * gather all overlapping areas for each module
96  * compute all combined matrices for each module (this can be done multi-threadedly)
97  * store them in a good way (how?)
98  *
99  */
100 
101  // ----- Finish -------------------------------------------------------
102  return 0;
103 }
void setInCentimeters(bool inCentimeters)
int verboseLevel
Definition: Lars/runMvdSim.C:7
void setBinaryPairFileDirectory(const std::string &binaryPairFileDirectory)
void setMatrixOutDir(std::string matrixOutDir)
void verboseLevel(int verbose)
int addFilesFromDirectory(std::string directory, int maxFiles=0)
void setMaxPairs(int maxPairs)