diff --git a/macro/mvd/qa/mvd_qa4_reco.C b/macro/mvd/qa/mvd_qa4_reco.C index 9d3de7e5fe6866d9b9e31e27a5cad57f01e96587..f20c65b153cfa4b97f0b4aaeb8e5ba0bb9371f5f 100644 --- a/macro/mvd/qa/mvd_qa4_reco.C +++ b/macro/mvd/qa/mvd_qa4_reco.C @@ -59,7 +59,7 @@ void mvd_qa4_reco(const char* setup = "sis100_electron") // ---- Debug option ------------------------------------------------- - gDebug = 1; + gDebug = 0; // ------------------------------------------------------------------------ diff --git a/reco/detectors/mvd/CMakeLists.txt b/reco/detectors/mvd/CMakeLists.txt index 5fde4b285cdeb9876b1ef7833fcaad243e6e3012..f60a874ba4ebe04e7341d6684eacabace86b1304 100644 --- a/reco/detectors/mvd/CMakeLists.txt +++ b/reco/detectors/mvd/CMakeLists.txt @@ -8,6 +8,7 @@ set(SRCS #plugins/tasks/CbmMvdSensorDigiToHitTask.cxx plugins/tasks/CbmMvdSensorHitfinderTask.cxx plugins/tasks/CbmMvdSensorClusterfinderTask.cxx + #plugins/tasks/CbmMvdSensorFindHitTask.cxx CbmMvdHitfinder.cxx #OLD # CbmMvdDigiToHit.cxx diff --git a/reco/detectors/mvd/CbmMvdClusterfinder.cxx b/reco/detectors/mvd/CbmMvdClusterfinder.cxx index 2bb8f0b1966b410cd008ac55ff89733a81f9699a..2473aef2d3e32b591a8ab0484485e5520a27765b 100644 --- a/reco/detectors/mvd/CbmMvdClusterfinder.cxx +++ b/reco/detectors/mvd/CbmMvdClusterfinder.cxx @@ -84,7 +84,7 @@ void CbmMvdClusterfinder::Exec(Option_t* /*opt*/) { // --- Start timer fTimer.Start(); - cout << "CbmMvdClusterfinder::Exec : Starting Exec " << endl; + if (gDebug>0) {cout << "CbmMvdClusterfinder::Exec : Starting Exec " << endl;} fCluster->Delete(); if (fDigiMan->GetNofDigis(ECbmModuleId::kMvd)) { if (fVerbose) cout << "//----------------------------------------//"; @@ -95,7 +95,7 @@ void CbmMvdClusterfinder::Exec(Option_t* /*opt*/) Int_t nDigis = fDigiMan->GetNofDigis(ECbmModuleId::kMvd); - cout << "CbmMvdClusterfinder::Exec - nDigis= " << nDigis << endl; + if (gDebug>0) {cout << "CbmMvdClusterfinder::Exec - nDigis= " << nDigis << endl;} for (Int_t i = 0; i < nDigis; i++) { digi = new CbmMvdDigi(*(fDigiMan->Get<CbmMvdDigi>(i))); @@ -105,7 +105,7 @@ void CbmMvdClusterfinder::Exec(Option_t* /*opt*/) } - cout << "CbmMvdClusterfinder::Exec : Communicating with Plugin: " << nTargetPlugin << endl; + if (gDebug>0) {cout << "CbmMvdClusterfinder::Exec : Communicating with Plugin: " << nTargetPlugin << endl;} //fDetector->SendInputDigis(fDigiMan); diff --git a/reco/detectors/mvd/CbmMvdHitfinder.cxx b/reco/detectors/mvd/CbmMvdHitfinder.cxx index 343df77ec548f50b8c481b65bd039efd3b93990c..00000cbf2e3014ffa065d5ba37a412f132a12388 100644 --- a/reco/detectors/mvd/CbmMvdHitfinder.cxx +++ b/reco/detectors/mvd/CbmMvdHitfinder.cxx @@ -11,9 +11,9 @@ #include "CbmMvdPoint.h" #include "SensorDataSheets/CbmMvdMimosa26AHR.h" -#include "plugins/tasks/CbmMvdSensorFindHitTask.h" +// #include "plugins/tasks/CbmMvdSensorFindHitTask.h" //digi to hit #include "CbmDigiManager.h" -#include "plugins/tasks/CbmMvdSensorHitfinderTask.h" +#include "plugins/tasks/CbmMvdSensorHitfinderTask.h" // cluster to hit #include "tools/CbmMvdGeoHandler.h" @@ -105,21 +105,24 @@ void CbmMvdHitfinder::Exec(Option_t* /*opt*/) fHits->Clear(); fTimer.Start(); Int_t nTargetPlugin= fDetector->DetectPlugin(fMyPluginID); - Int_t nDigis=0; - CbmMvdDigi* digi=0; + //Int_t nDigis=0; + //CbmMvdDigi* digi=0; CbmMvdCluster* cluster=0; if (fDigiMan->IsPresent(ECbmModuleId::kMvd) || fInputCluster) { //checks if data sources are available if (fVerbose) cout << endl << "//----------------------------------------//" << endl; if (!fUseClusterfinder) { + /* fDigiMan->GetNofDigis(ECbmModuleId::kMvd); for (Int_t i = 0; i < nDigis; i++) { digi = new CbmMvdDigi(*(fDigiMan->Get<CbmMvdDigi>(i))); digi->SetRefId(i); fDetector->SendInputToSensorPlugin(digi->GetDetectorId(), nTargetPlugin, static_cast<TObject*>(digi)); + */ + Fatal("CbmMvdHitFinder - Mode without cluster finder is currently not supported ", "CbmMvdHitFinder - Mode without cluster finder is currently not supported "); } - } + //fDetector->SendInputDigis(fDigiMan); @@ -153,7 +156,7 @@ void CbmMvdHitfinder::Exec(Option_t* /*opt*/) //fDetector->GetMatchArray (nTargetPlugin, fTmpMatch); //fHits->AbsorbObjects(fDetector->GetOutputHits(), 0, fDetector->GetOutputHits()->GetEntriesFast() - 1); - cout << "Total of " << fHits->GetEntriesFast() << " hits found" << endl; + //cout << "Total of " << fHits->GetEntriesFast() << " hits found" << endl; if (fVerbose) cout << "Finished writing Hits" << endl; if (fVerbose) cout << "//----------------------------------------//" << endl << endl; LOG(info) << "+ " << setw(20) << GetName() << ": Created: " << fHits->GetEntriesFast() << " hits in " << fixed @@ -183,6 +186,7 @@ InitStatus CbmMvdHitfinder::Init() // ********** Get input arrays if (!fUseClusterfinder) { + Fatal("CbmMvdHitFinder - Mode without cluster finder is currently not supported ", "CbmMvdHitFinder - Mode without cluster finder is currently not supported "); fDigiMan = CbmDigiManager::Instance(); fDigiMan->Init(); if (!fDigiMan->IsPresent(ECbmModuleId::kMvd)) { @@ -212,16 +216,19 @@ InitStatus CbmMvdHitfinder::Init() std::map<int, CbmMvdSensor*>& sensorMap = fDetector->GetSensorMap(); UInt_t plugincount=fDetector->GetPluginCount(); + /* if (!fUseClusterfinder) { + for (auto itr = sensorMap.begin(); itr != sensorMap.end(); itr++) { CbmMvdSensorFindHitTask* hitfinderTask = new CbmMvdSensorFindHitTask(); itr->second->AddPlugin(hitfinderTask); itr->second->SetHitPlugin(plugincount); fMyPluginID=400; + } - } - else { + + else {*/ for (auto itr = sensorMap.begin(); itr != sensorMap.end(); itr++) { CbmMvdSensorHitfinderTask* hitfinderTask = new CbmMvdSensorHitfinderTask(); @@ -229,7 +236,7 @@ InitStatus CbmMvdHitfinder::Init() itr->second->SetHitPlugin(plugincount); fMyPluginID=300; } - } + //} fDetector->SetSensorArrayFilled(kTRUE); fDetector->SetPluginCount(plugincount+1); diff --git a/reco/detectors/mvd/CbmMvdRecoLinkDef.h b/reco/detectors/mvd/CbmMvdRecoLinkDef.h index b764523df4c869b48d8427499657ceebf2219b48..824d7bd3ae441cec4435d9f5c7324be556d282b0 100644 --- a/reco/detectors/mvd/CbmMvdRecoLinkDef.h +++ b/reco/detectors/mvd/CbmMvdRecoLinkDef.h @@ -14,6 +14,7 @@ #pragma link C++ class CbmMvdSensorHitfinderTask + ; //OLD #pragma link C++ class CbmMvdSensorClusterfinderTask + ; //OLD #pragma link C++ class CbmMvdTrackingInterface + ; +//#pragma link C++ class CbmMvdSensorFindHitTask + ; #pragma link C++ class CbmMvdQa+; //#pragma link C++ class CbmMvdClusterAna+; diff --git a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx index a4e5ca56e08ffb60adf3f993a11833d801e352c5..7c45990cd9cd2371d7a298807b8eb4460fe5a9fb 100644 --- a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx +++ b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx @@ -94,7 +94,7 @@ void CbmMvdSensorClusterfinderTask::InitTask(CbmMvdSensor* mysensor) fSensor = mysensor; - cout << "-Start- " << GetName() << ": Initialisation of sensor " << fSensor->GetName() << endl; + if(gDebug>0){cout << "-Start- CbmMvdSensorClusterfinderTask : Initialisation of sensor " << fSensor->GetName() << endl;} fInputBuffer = new TClonesArray("CbmMvdDigi", 100); fOutputBuffer = new TClonesArray("CbmMvdCluster", 100); @@ -188,10 +188,10 @@ void CbmMvdSensorClusterfinderTask::ExecChain() { Exec(); } // ----- Public method Exec -------------- void CbmMvdSensorClusterfinderTask::Exec() { - + if(gDebug>0){ cout << "CbmMvdSensorClusterfinderTask::Exec - Running Sensor " << fSensor->GetName() << endl; cout << "CbmMvdSensorClusterfinderTask::Exec - InputBufferSize " << fInputBuffer->GetEntriesFast() << endl; - + } if (fInputBuffer->GetEntriesFast() > 0) { fOutputBuffer->Delete(); inputSet = kFALSE; @@ -236,6 +236,8 @@ void CbmMvdSensorClusterfinderTask::Exec() if (gDebug > 0) { cout << "\n-I- " << GetName() << ": VolumeId " << fSensor->GetVolumeId() << endl; } + //cout<<"CbmMvdSensorClusterfinderTask: Working with " << nDigis << " digis" << endl; + for (iDigi = 0; iDigi < nDigis; iDigi++) { if (gDebug > 0 && iDigi % 10000 == 0) { cout << "-I- " << GetName() << " Digi:" << iDigi << endl; }; @@ -256,7 +258,7 @@ void CbmMvdSensorClusterfinderTask::Exec() if (gDebug > 0) { cout << "-I- " - << "CbmMvdSensorFindHitTask: Checking for seed pixels..." << endl; + << "CbmMvdSensorClusterfinderTask: Checking for seed pixels..." << endl; } if ((GetAdcCharge(digi->GetCharge()) >= fSeedThreshold) && (pixelUsed->At(iDigi) == kFALSE)) { @@ -267,7 +269,7 @@ void CbmMvdSensorClusterfinderTask::Exec() pair<Int_t, Int_t> a(digi->GetPixelX(), digi->GetPixelY()); fDigiMapIt = fDigiMap.find(a); - fDigiMap.erase(fDigiMapIt); + if(fDigiMapIt!= fDigiMap.end()) {fDigiMap.erase(fDigiMapIt);}; for (ULong64_t iCluster = 0; iCluster < clusterArray->size(); iCluster++) { @@ -320,6 +322,7 @@ void CbmMvdSensorClusterfinderTask::Exec() } else { //cout << endl << "No input found." << endl; } + fInputBuffer->Clear(); } // ------------------------------------------------------------------------- diff --git a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx index 6d3b3e41d2bc1fe64703175e325c469af6cb2d21..7475e4aa040165c183f9f612db98d7cb395b0d2a 100644 --- a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx +++ b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx @@ -245,7 +245,7 @@ void CbmMvdSensorFindHitTask::ExecChain() { Exec(); } // ----- Virtual public method Exec -------------- void CbmMvdSensorFindHitTask::Exec() -{ +{ cout << "Ich lebe auch" << endl; // if(!inputSet) // { diff --git a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx index a819bc5653e82a56d8eb9db048af2b00cc022c0f..986487cbcb8eb052d761a2065028275b971149fe 100644 --- a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx +++ b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx @@ -200,7 +200,7 @@ void CbmMvdSensorHitfinderTask::InitTask(CbmMvdSensor* mysensor) fSensor = mysensor; - //cout << "-Start- " << GetName() << ": Initialisation of sensor " << fSensor->GetName() << endl; + if (gDebug>0){cout << "-Start- CbmMvdSensorHitfinderTask: Initialisation of sensor " << fSensor->GetName() << endl;} fInputBuffer = new TClonesArray("CbmMvdCluster", 100); fOutputBuffer = new TClonesArray("CbmMvdHit", 100); diff --git a/sim/detectors/mvd/CbmMvdDigitizer.cxx b/sim/detectors/mvd/CbmMvdDigitizer.cxx index a73f88411c0f29d003589279607c0cfa12532e9d..41d1d46f192a12c3a631ac366d69180d6b9e88fd 100644 --- a/sim/detectors/mvd/CbmMvdDigitizer.cxx +++ b/sim/detectors/mvd/CbmMvdDigitizer.cxx @@ -132,6 +132,8 @@ void CbmMvdDigitizer::Exec(Option_t* /*opt*/) Int_t nPoints = fInputPoints->GetEntriesFast(); Int_t nDigis = 0; CbmMvdPoint* point=0; + fTmpDigi->Clear(); + fTmpMatch->Clear(); if (fInputPoints->GetEntriesFast() > 0) { diff --git a/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx index 705131320ca850b85669b89ff052007c56285c4c..e77e65a8549d9e4667bbcf20c868d7f34cd6796b 100644 --- a/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx +++ b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx @@ -257,7 +257,7 @@ CbmMvdSensorDigitizerTask::CbmMvdSensorDigitizerTask(Int_t iMode) , h_ElossVsMomIn(NULL) { fPluginIDNumber= 100; - cout << "Starting CbmMvdSensorDigitizerTask::CbmMvdSensorDigitizerTask() " << endl; + if(gDebug>0){cout << "Starting CbmMvdSensorDigitizerTask::CbmMvdSensorDigitizerTask() " << endl;} fRandGen.SetSeed(2736); fEvent = 0;