diff --git a/macro/mvd/qa/mvd_qa4_reco.C b/macro/mvd/qa/mvd_qa4_reco.C index f20c65b153cfa4b97f0b4aaeb8e5ba0bb9371f5f..9d3de7e5fe6866d9b9e31e27a5cad57f01e96587 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 = 0; + gDebug = 1; // ------------------------------------------------------------------------ diff --git a/reco/detectors/mvd/CbmMvdHitfinder.cxx b/reco/detectors/mvd/CbmMvdHitfinder.cxx index 626773fc1830cbb318c72bf4a6940e64cc996089..343df77ec548f50b8c481b65bd039efd3b93990c 100644 --- a/reco/detectors/mvd/CbmMvdHitfinder.cxx +++ b/reco/detectors/mvd/CbmMvdHitfinder.cxx @@ -11,7 +11,7 @@ #include "CbmMvdPoint.h" #include "SensorDataSheets/CbmMvdMimosa26AHR.h" -//#include "plugins/tasks/CbmMvdSensorFindHitTask.h" +#include "plugins/tasks/CbmMvdSensorFindHitTask.h" #include "CbmDigiManager.h" #include "plugins/tasks/CbmMvdSensorHitfinderTask.h" #include "tools/CbmMvdGeoHandler.h" @@ -104,7 +104,7 @@ void CbmMvdHitfinder::Exec(Option_t* /*opt*/) fHits->Clear(); fTimer.Start(); - Int_t nTargetPlugin= fDetector->DetectPlugin(300); + Int_t nTargetPlugin= fDetector->DetectPlugin(fMyPluginID); Int_t nDigis=0; CbmMvdDigi* digi=0; CbmMvdCluster* cluster=0; @@ -212,13 +212,25 @@ InitStatus CbmMvdHitfinder::Init() std::map<int, CbmMvdSensor*>& sensorMap = fDetector->GetSensorMap(); UInt_t plugincount=fDetector->GetPluginCount(); - for (auto itr = sensorMap.begin(); - itr != sensorMap.end(); itr++) { - CbmMvdSensorHitfinderTask* hitfinderTask = new CbmMvdSensorHitfinderTask(); + if (!fUseClusterfinder) { + for (auto itr = sensorMap.begin(); itr != sensorMap.end(); itr++) { + CbmMvdSensorFindHitTask* hitfinderTask = new CbmMvdSensorFindHitTask(); - itr->second->AddPlugin(hitfinderTask); - itr->second->SetHitPlugin(plugincount); + itr->second->AddPlugin(hitfinderTask); + itr->second->SetHitPlugin(plugincount); + fMyPluginID=400; + } } + else { + for (auto itr = sensorMap.begin(); itr != sensorMap.end(); itr++) { + CbmMvdSensorHitfinderTask* hitfinderTask = new CbmMvdSensorHitfinderTask(); + + itr->second->AddPlugin(hitfinderTask); + itr->second->SetHitPlugin(plugincount); + fMyPluginID=300; + } + } + fDetector->SetSensorArrayFilled(kTRUE); fDetector->SetPluginCount(plugincount+1); fHitfinderPluginNr = (UInt_t)(fDetector->GetPluginArraySize()); diff --git a/reco/detectors/mvd/CbmMvdHitfinder.h b/reco/detectors/mvd/CbmMvdHitfinder.h index 32439479c7ec572685a55a31274c899969dd14d7..3383a47d668ac41822073fcdab845eea3484cc3c 100644 --- a/reco/detectors/mvd/CbmMvdHitfinder.h +++ b/reco/detectors/mvd/CbmMvdHitfinder.h @@ -41,9 +41,10 @@ public: { fUseClusterfinder = clusterfinderFlag; }; //* enable use of external clusterfinder - void ShowDebugHistos() { fShowDebugHistos = kTRUE; } + void ShowDebugHistos() { fShowDebugHistos = kTRUE; } protected: + Int_t fMyPluginID; private: CbmMvdDetector* fDetector; CbmDigiManager* fDigiMan; //! diff --git a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx index 674a656a86666044ab606ca584c3cf43f8d72dfa..a4e5ca56e08ffb60adf3f993a11833d801e352c5 100644 --- a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx +++ b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx @@ -210,10 +210,7 @@ void CbmMvdSensorClusterfinderTask::Exec() } Int_t nDigis = fInputBuffer->GetEntriesFast(); - cout << " -I- CbmMvdClusterTrask::Exec(): Received following number of digis: " << nDigis << endl; - - - nDigis = fInputBuffer->GetEntriesFast(); + //cout << " -I- CbmMvdClusterTrask::Exec(): Received following number of digis: " << nDigis << endl; TArrayS* pixelUsed = new TArrayS(nDigis); for (iDigi = 0; iDigi < nDigis; iDigi++) { diff --git a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx index c1adff8716556a83c9919f0fcb45316e49625798..6d3b3e41d2bc1fe64703175e325c469af6cb2d21 100644 --- a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx +++ b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx @@ -204,9 +204,9 @@ void CbmMvdSensorFindHitTask::InitTask(CbmMvdSensor* mysensor) fSensor = mysensor; //cout << "-Start- " << GetName() << ": Initialisation of sensor " << fSensor->GetName() << endl; - fInputBuffer = new TClonesArray("CbmMvdDigi", 10000); - fOutputBuffer = new TClonesArray("CbmMvdHit", 10000); - fHits = new TClonesArray("CbmMvdHit", 10000); + fInputBuffer = new TClonesArray("CbmMvdDigi", 100); + fOutputBuffer = new TClonesArray("CbmMvdHit", 100); + fHits = new TClonesArray("CbmMvdHit", 100); //Add charge collection histograms diff --git a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx index 23988ca9ea0c455ead8703a6f7f0919b6b8637ee..a819bc5653e82a56d8eb9db048af2b00cc022c0f 100644 --- a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx +++ b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx @@ -201,8 +201,8 @@ void CbmMvdSensorHitfinderTask::InitTask(CbmMvdSensor* mysensor) fSensor = mysensor; //cout << "-Start- " << GetName() << ": Initialisation of sensor " << fSensor->GetName() << endl; - fInputBuffer = new TClonesArray("CbmMvdCluster", 10000); - fOutputBuffer = new TClonesArray("CbmMvdHit", 10000); + fInputBuffer = new TClonesArray("CbmMvdCluster", 100); + fOutputBuffer = new TClonesArray("CbmMvdHit", 100); //Add charge collection histograms diff --git a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h index f94476bc03981b052a187dfb4fc8d905b11b42b1..6b7815ec1ad04971a8db83558a8152adc229d70f 100644 --- a/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h +++ b/reco/detectors/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.h @@ -71,6 +71,12 @@ public: inputSet = kTRUE; }; + void SetInput(TObject* cluster) + { + new ((*fInputBuffer)[fInputBuffer->GetEntriesFast()]) CbmMvdCluster(*((CbmMvdCluster*) cluster)); + inputSet = kTRUE; + }; + /** Accessors **/ //Double_t GetSigmaX() const { return fSigmaX; };