Index: mantid/Framework/DataHandling/inc/MantidDataHandling/LoadCSNSNexus.h
===================================================================
--- mantid/Framework/DataHandling/inc/MantidDataHandling/LoadCSNSNexus.h	(revision 24122a939d58f6a8827b0413a38d1b7a10165c23)
+++ mantid/Framework/DataHandling/inc/MantidDataHandling/LoadCSNSNexus.h	(revision 89fce8f5324670003744e211e2da63ed52871005)
@@ -106,6 +106,6 @@
     bool hasEventData(::NeXus::File *file);
 
-    /// List bank names
-    std::vector<std::string> getBankNames(::NeXus::File *file);
+    /// List bank or monitor names
+    std::vector<std::string> getDetectorNames(::NeXus::File *file, bool bm);
 
     /// Return number of pixels of all banks
@@ -151,8 +151,8 @@
     std::vector<std::string> m_monitorNames;
 
-    /// Number of pixels in banks
-    size_t m_bNumPixels;
+    /// total Number of pixels in banks
+    size_t m_bTotalPixels;
     /// Number of pixels in monitors
-    size_t m_mNumPixels;
+    size_t m_mTotalPixels;
     /// Number of bins in banks
     size_t m_bNumBins;
@@ -166,6 +166,11 @@
     std::vector<float> m_yOffset;
 
+    /// get value
+   // std::vector<int**> getValue(::NeXus::File *file, bool bm);
+    std::vector<uint32_t> getValue(::NeXus::File *file, bool bm);
+
     /// get event data
-    std::multimap<int, std::pair<double, int64_t>> getEventData(::NeXus::File *file, int64_t startTime, bool bm);
+    std::multimap<int, std::pair<double, int64_t>> getEventData(::NeXus::File *file, int64_t startTime, int pNum, bool bm);
+    //std::multimap<int, std::pair<double, int64_t>> getEventData(::NeXus::File *file, int64_t startTime, bool bm);
 
     /// get spectra mapping
@@ -173,5 +178,5 @@
 
     /// get time of flight
-    std::vector<int> getTOF(::NeXus::File *file);
+    std::vector<int> getTimeOfFlight(::NeXus::File *file);
 
     /// get sample information
Index: mantid/Framework/DataHandling/src/LoadCSNSNexus.cpp
===================================================================
--- mantid/Framework/DataHandling/src/LoadCSNSNexus.cpp	(revision 12635b2b12b0044cf2afd819917e82bbe6b0f446)
+++ mantid/Framework/DataHandling/src/LoadCSNSNexus.cpp	(revision 89fce8f5324670003744e211e2da63ed52871005)
@@ -1,5 +1,2 @@
-//----------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------
 #include "MantidDataHandling/LoadCSNSNexus.h"
 #include "MantidDataHandling/EventWorkspaceCollection.h"
@@ -46,5 +43,5 @@
 
 LoadCSNSNexus::LoadCSNSNexus()
-    : m_bNumPixels(0),m_mNumPixels(0), pulseTimes(0), m_numBins(0), m_spec_min(0),
+    : m_bTotalPixels(0),m_mTotalPixels(0), pulseTimes(0), m_numBins(0), m_spec_min(0),
       m_spec_max(0), m_fileMutex() {}
 
@@ -308,5 +305,4 @@
 * @return numBins :: bins of TOF
 */
-/*
 size_t LoadCSNSNexus::getNumBins(::NeXus::File *file, bool bm)
 {
@@ -423,39 +419,4 @@
     return numBins;
 }
-*/
-//-------------------------------------------------------------------------------------------------
-/**
-* Return the time of flight 
-* @param[in] filen :: nxs file
-* @return TOF :: time of flight
-*/
-std::vector<int> LoadCSNSNexus::getTOF(::NeXus::File *file)
-{
-    std::vector<int> TOF;
-    std::map<std::string, std::string> entries;
-    std::map<std::string, std::string>::iterator it;
-
-    file->openGroup(m_entryName, "NXentry");
-    file->openGroup("instrument", "NXinstrument");
-
-    entries = file->getEntries();
-    for (it = entries.begin(); it != entries.end(); ++it)
-    {
-        std::string name = it->first;
-        if (name.substr(0, 4) == "bank" || name.substr(0,7)=="monitor")
-        {
-            file->openGroup(name, it->second);
-            cout<<"the name is: "<<name<<endl;
-            file->readData("time_of_flight",TOF);
-            file->closeGroup();
-            break;
-        }
-    }
-    file->closeGroup();
-    file->closeGroup();
-    return TOF;
-}
-
-
 //-------------------------------------------------------------------------------------------------
 /**
@@ -467,6 +428,5 @@
 * pulse time unit is 
 */
-//std::vector<std::vector< std::pair<float,float> > > LoadCSNSNexus::getEventData(::NeXus::File *file, const std::string &bankName)
-std::multimap<int, std::pair<double, int64_t>> LoadCSNSNexus::getEventData(::NeXus::File *file, int64_t startTime, bool bm)
+std::multimap<int, std::pair<double, int64_t>> LoadCSNSNexus::getEventData(::NeXus::File *file, int64_t startTime, int pNum, bool bm)
 {
     size_t numBank = m_bankNames.size();
@@ -506,7 +466,7 @@
                     for (size_t i=0; i<_pixelId.size(); ++i)
                     {
-                        specNo = spectraMapping[_pixelId[i]+512*_num];
+                        specNo = spectraMapping[_pixelId[i]+pNum*_num];
                         _pTime = startTime + int64_t(_pulseTime[i]*1000);                 
-                        _pTOF = std::make_pair(_tof[i], _pTime);
+                        _pTOF = std::make_pair(_tof[i],_pTime);
                         eventData.insert(std::multimap<int, std::pair<double, int64_t>>::value_type(specNo,_pTOF));
                     }
@@ -527,7 +487,7 @@
                     for (size_t i=0; i<_pixelId.size(); ++i)
                     {
-                        specNo = spectraMapping[_pixelId[i]+512*_num];
+                        specNo = spectraMapping[_pixelId[i]+pNum*_num];
                         _pTime = startTime + int64_t(_pulseTime[i]*1000);
-                        _pTOF = std::make_pair(_tof[i], _pTime);
+                         _pTOF = std::make_pair(_tof[i],_pTime);
                         eventData.insert(std::multimap<int, std::pair<double, int64_t>>::value_type(specNo,_pTOF));
                     }
@@ -554,9 +514,8 @@
                     for (size_t i=0; i<_pixelId.size(); ++i)
                     {
-                        specNo = spectraMapping[_pixelId[i]+256*_num];
+                        specNo = spectraMapping[_pixelId[i]+pNum*_num];
                         _pTime = startTime + int64_t(_pulseTime[i]*1000);
-                        _pTOF = std::make_pair(_tof[i], _pTime);
-                        eventData.insert(std::multimap<int, std::pair<double, int64_t>>::value_type(specNo,_pTOF));
-                    }
+                         _pTOF = std::make_pair(_tof[i],_pTime);
+                        eventData.insert(std::multimap<int, std::pair<double, int64_t>>::value_type(specNo,_pTOF));                                     }
                     file->closeGroup();
                 }
@@ -574,7 +533,7 @@
                 for (size_t i=0; i<_pixelId.size(); ++i)
                 {
-                    specNo = spectraMapping[_pixelId[i]+256*_num];
+                    specNo = spectraMapping[_pixelId[i]+pNum*_num];
                     _pTime = startTime + int64_t(_pulseTime[i]*1000);
-                    _pTOF = std::make_pair(_tof[i], _pTime);
+                    _pTOF = std::make_pair(_tof[i],_pTime);
                     eventData.insert(std::multimap<int, std::pair<double, int64_t>>::value_type(specNo,_pTOF));
                 }
@@ -590,31 +549,66 @@
 //-------------------------------------------------------------------------------------------------
 /**
-* Return Bank list NX/entry/instrument/bank*
+* Return the time of flight 
+* @param[in] filen :: nxs file
+* @return TOF :: time of flight
+*/
+std::vector<int> LoadCSNSNexus::getTimeOfFlight(::NeXus::File *file)
+{
+    std::vector<int> timeOfFlight;
+    std::map<std::string, std::string> entries;
+    std::map<std::string, std::string>::iterator it;
+
+    file->openGroup(m_entryName, "NXentry");
+    file->openGroup("instrument", "NXinstrument");
+
+    entries = file->getEntries();
+    for (it = entries.begin(); it != entries.end(); ++it)
+    {
+        std::string name = it->first;
+        if (name.substr(0, 4) == "bank" || name.substr(0,7)=="monitor")
+        {
+            file->openGroup(name, it->second);
+            file->readData("time_of_flight",timeOfFlight);
+            file->closeGroup();
+            break;
+        }
+    }
+    file->closeGroup();
+    file->closeGroup();
+    return timeOfFlight;
+}
+
+
+//-------------------------------------------------------------------------------------------------
+/**
+* Return Bank ot Monitor list NX/entry/instrument/bank* or monitor*
 * @param[in] file :: nxs file
 * @return bankNames :: bank list
 */
-std::vector<std::string> LoadCSNSNexus::getBankNames(::NeXus::File *file)
-{
-    std::vector<std::string> bankNames;
-
-    // Open the default data group 'entry'
+std::vector<std::string> LoadCSNSNexus::getDetectorNames(::NeXus::File *file, bool bm)
+{
+    std::vector<std::string> detectorNames;
     file->openGroup(m_entryName, "NXentry");
-    // Also pop into the instrument
     file->openGroup("instrument", "NXinstrument");
-
-    // Look for all the banks
     std::map<std::string, std::string> entries = file->getEntries();
     std::map<std::string, std::string>::iterator it;
-    for (it = entries.begin(); it != entries.end(); ++it)
-    {
-        if (it->first.substr(0,4)=="bank" && it->second=="NXdetector")
-        {
-            bankNames.push_back(it->first);
-        }
-    }
-
-    file->closeGroup();
-    file->closeGroup();
-    return bankNames;
+    if(bm)
+    {
+        for (it = entries.begin(); it != entries.end(); ++it)
+        {
+            if (it->first.substr(0,4)=="bank" && it->second=="NXdetector")
+                detectorNames.push_back(it->first);
+        }
+    }else
+    {
+        for (it = entries.begin(); it != entries.end(); ++it)
+        {
+            if (it->first.substr(0,7)=="monitor" && it->second=="NXdetector")
+                detectorNames.push_back(it->first);
+        }
+    }
+    file->closeGroup();
+    file->closeGroup();
+    return detectorNames;
 }
 //-------------------------------------------------------------------------------------------------
@@ -1187,37 +1181,4 @@
 
 //-------------------------------------------------------------------------------------------------
-/**
-* load event data in workspace
-* @param[in] numPixels :: pixel numbers
-* @param[in] numBins :: time of flight numbers
-*/
-/*
-template <typename T>
-void LoadCSNSNexus::loadEventData(::NeXus::File *file, T ws)
-{
-    Kernel::DateAndTime start_time = getStartTime(file);
-    int64_t sTime = start_time.totalNanoseconds();
-    std::multimap<int,std::pair<int64_t, double>> m_eventData = getEventData(file, sTime, true);
-    double tof;
-    int64_t pulseTime; 
-//    int numpixels = static_cast<int>(numPixels);
-//    int numbins = static_cast<int>(numBins);
-    int p = 0;
-//    size_t pix = m_eventData->first.size();    
-    std::multimap<int,std::pair<int64_t, double>>::iterator it;
-    for (it = m_eventData.begin(); it != m_eventData.end(); it++){
-       // ws->getEventList(p).addDetectorID(it->first-1);
-       // ws->getEventList(p).setSpectrumNo(it->first);
-        for (size_t j = 0; j != m_eventData.count(it->first); j++){
-            pulseTime = it->second.first;
-            tof = it->second.second;
-            ws->getEventList(p) += TofEvent(tof, pulseTime);            
-        }
-       // ws->getEventList(p).addDetectorID(p);
-        ws->getEventList(p).setSpectrumNo(it->first);
-        p++;
-    }
-}
-*/
 
 void LoadCSNSNexus::exec()
@@ -1228,4 +1189,6 @@
     m_bankNames = getProperty("Bankname");
     m_monitorNames = getProperty("Monitorname");
+    //cout<<"the number of bank is: "<<m_bankNames.size()<<endl;
+    //cout<<"the number of monitors is: "<<m_monitorNames.size()<<endl;
 
     bool m_loadEvent = getProperty("Loadevent");
@@ -1251,10 +1214,41 @@
         throw std::runtime_error(m_entryName+" not found in the NXS file!");
     }
-    std::vector<std::string> bankNames= getBankNames(file);
-    g_log.debug() <<bankNames.size() << " banks found." << std::endl;
-    prog->setNumSteps(bankNames.size() + 5);
-    // Get CSNS Nexus Version
+
+    // pixel numbers in every detector
+    int bankNum, monitorNum;
+    int bPixelNum, mPixelNum; // pixel numbers in one detector
+    if(!m_bankNames.size())
+    {
+        std::vector<std::string> bankNames= getDetectorNames(file, true);
+        bankNum = int(bankNames.size());
+    }else
+    {
+        bankNum = int(m_bankNames.size());
+    }
+    if(!m_monitorNames.size())
+    {
+        std::vector<std::string> monitorNames= getDetectorNames(file, false);
+        monitorNum = int(monitorNames.size());
+    }else
+    {
+        monitorNum = int(m_monitorNames.size());
+    }
+    g_log.debug() <<bankNum << " banks found." << std::endl;
+   // g_log.debug() <<bankNames.size() << " banks found." << std::endl;
+    prog->setNumSteps(bankNum + 5);
+
+    prog->doReport("Counting pixels");
+    std::vector<uint32_t> pixelId_bank = getPixelId(file, true);
+    std::vector<uint32_t> pixelId_monitor = getPixelId(file, false);
+    m_bTotalPixels = pixelId_bank.size();
+    m_mTotalPixels = pixelId_monitor.size();
+    g_log.debug() <<m_bTotalPixels <<" pixels found."<< std::endl;
+
+    bPixelNum = int(m_bTotalPixels/bankNum);
+    mPixelNum = int(m_mTotalPixels/monitorNum);
+    
     std::string m_version = getVersion(file);
     g_log.debug()<<"CSNS Nexus version is: " <<m_version<<"\n";
+    CSNSsample m_sampleInfo = getSampleInfo(file);
 /*
     // has Event data
@@ -1269,115 +1263,114 @@
     }
 */
-    prog->doReport("Counting pixels");
-    m_bNumPixels = getNumPixels(file, true);
-    m_mNumPixels = getNumPixels(file, false);
-    cout<<"pixel number in banks is: "<<m_bNumPixels<<endl;
+   // prog->doReport("Counting pixels");
+    //m_bNumPixels = getNumPixels(file, true);
+    //m_mNumPixels = getNumPixels(file, false);
+    //cout<<"pixel number in banks is: "<<m_bNumPixels<<endl;
     //cout<<"pixel number in monitors is: "<<m_mNumPixels<<endl;
-    g_log.debug() <<m_bNumPixels <<" pixels found."<< std::endl;
+    //g_log.debug() <<m_bNumPixels <<" pixels found."<< std::endl;
 
     prog->doReport("Counting TOF bins");
-    //m_bNumBins = getNumBins(file, true);
-    //m_mNumBins = getNumBins(file, false);
-    std::vector<int> m_TOF = getTOF(file);
-    m_bNumBins = m_TOF.size();
-    cout<<"TOF bins is: "<<m_bNumBins<<endl;
-
-    g_log.debug() <<m_numBins <<" TOF bins found."<< std::endl;
-    //std::cout<<"num of bin in banks are: "<<m_bNumBins<<std::endl;
-    //std::cout<<"num of bin in monitors are: "<<m_mNumBins<<std::endl;
-
-    // test getPixelId
-    //std::vector<uint32_t> pixelId_bank = getPixelId(file, true);
-    //std::vector<uint32_t> pixelId_monitor = getPixelId(file, false);
-    //cout<<"the pixelId size banks are: "<<pixelId_bank.size()<<endl;
-    //cout<<"the pixelId size monitors are: "<<pixelId_monitor.size()<<endl;
-    //cout<<"the bank pixelId in 2 is: "<<pixelId_bank[2]<<endl;
-    //cout<<"the bank pixelId in 512 is: "<<pixelId_bank[512]<<endl;
-    //cout<<"the monitor pixelId in 2 is: "<<pixelId_monitor[2]<<endl;
-    //cout<<"the monitor pixelId in 256 is: "<<pixelId_monitor[256]<<endl;
-
-
-    // create event workspace
-    EventWorkspace_sptr WS(new EventWorkspace);
-    setProperty("OutputWorkspace", WS);
+   // m_bNumBins = getNumBins(file, true);
+    std::vector<int> m_timeOfFlight = getTimeOfFlight(file);
+    m_bNumBins = m_timeOfFlight.size();
+   // m_mNumBins = getNumBins(file, false);
+    g_log.debug() <<m_bNumBins <<" TOF bins found."<< std::endl;
+
     // Get start time and end time
     Kernel::DateAndTime start_time = getStartTime(file);
     Kernel::DateAndTime end_time = getEndTime(file);
-    //int64_t sTime = start_time.totalNanoseconds();
-
-    WS->mutableRun().setStartAndEndTime(start_time, end_time);
-    // load info into workspace 
-    CSNSsample m_sampleInfo = getSampleInfo(file);
-    WS->setTitle(m_sampleInfo.name);
-
-    //load event data
-   // loadEventData(file, WS);
-    WS->initialize(m_bNumPixels,1,1);
-    int64_t sTime = start_time.totalNanoseconds();
-    std::multimap<int,std::pair<double, int64_t>> m_eventData = getEventData(file, sTime, true);
-    double m_tof;
-    int64_t m_pulseTime;
-    std::multimap<int,std::pair<double, int64_t>>::iterator it;
-    int numPixels = int(m_bNumPixels);
-    for (int i = 0; i != numPixels; i++)
-    {
-        it = m_eventData.find(i+1);
-        for (size_t j = 0; j != m_eventData.count(i+1); j++, it++)
-        {        
-            m_pulseTime = it->second.second;
-            m_tof = it->second.first;
-            WS->getEventList(i) += TofEvent(m_tof, m_pulseTime);
-        } 
-        WS->getEventList(i).setSpectrumNo(i+1);
-    }
-/* 
-    //test and confirmed the correction of m_eventData
-    typedef std::multimap<int, std::pair<double, int64_t>>::iterator it_multimap;
-    it_multimap i1 = m_eventData.find(344);
-    for (int k = 0; k != m_eventData.count(344); k++, i1++)
-    {
-        cout<<"the spcetrum No is "<<i1->first<<" and the tof is: "<<i1->second.first<<endl;
-    }     
-*/    
-     // set units in X and Y axis 
-    WS->getAxis(0)->unit() = Kernel::UnitFactory::Instance().create("TOF");
-    WS->setYUnit("Counts");
-
-    // create the x-axis for histogramming
-    Kernel::cow_ptr<MantidVec> axis;
-    MantidVec &xRef = axis.access();
-   // int numbins = int(m_bNumBins);
-   // int st = 0;
-    //xRef.resize(numbins);
-    xRef.resize(2);
-   // for (auto k = m_TOF.begin(); k != m_TOF.end() ; ++k)
-   // {
-   //     xRef[st] = (*k);
-   //     st++;
-   // }
-    xRef[0] = 0;
-    xRef[1] = *(m_TOF.end()-1);
-   // WS->setX(1,axis);
-    WS->setAllX(axis);
-
-/*
+
+    if(m_loadEvent)
+    {
+        // create event workspace
+        EventWorkspace_sptr WS(new EventWorkspace);
+        setProperty("OutputWorkspace", WS);
+        WS->initialize(m_bTotalPixels,1,1);
+        WS->mutableRun().setStartAndEndTime(start_time, end_time);
+        WS->setTitle(m_sampleInfo.name);
+        WS->getAxis(0)->unit() = Kernel::UnitFactory::Instance().create("TOF");
+        WS->setYUnit("Counts");
+
+        int64_t sTime = start_time.totalNanoseconds();
+        std::multimap<int,std::pair<double, int64_t>> m_eventData = getEventData(file, sTime, bPixelNum, true);
+        double m_tof;
+        int64_t m_pulseTime;
+        std::multimap<int,std::pair<double, int64_t>>::iterator it;
+        int numPixels = int(m_bTotalPixels);
+        for (int i = 0; i != numPixels; i++)
+        {
+            it = m_eventData.find(i+1);
+            for (size_t j = 0; j != m_eventData.count(i+1); j++, it++)
+            {
+                m_pulseTime = it->second.second;
+                m_tof = it->second.first;
+                WS->getEventList(i) += TofEvent(m_tof, m_pulseTime);
+            }
+            WS->getEventList(i).setSpectrumNo(i+1);
+        }
+        // create the x-axis for histogramming
+        Kernel::cow_ptr<MantidVec> axis;
+        MantidVec &xRef = axis.access();
+        xRef.resize(2);
+        xRef[0] = 0;
+        xRef[1] = *(m_timeOfFlight.end()-1);
+        WS->setAllX(axis);
+
+        // Load log of source, chopper and SE    
+        prog->doReport("Loading time log");
+        loadLog(file, WS);    
+    }
+
+
+/*------------------------------------------------------------------------------------------------------------------------------
+// test getSpectraMapping
+
     std::map<int, int> spectraMapping_bank = getSpectraMapping(file, true);
     std::map<int, int> spectraMapping_monitor = getSpectraMapping(file, false);
     std::cout<<"total number of spectrum in banks is: "<<spectraMapping_bank.size()<<std::endl;
     std::cout<<"total number of spectrum in monitor is: "<<spectraMapping_monitor.size()<<std::endl;
-    std::cout<<"Mapping of detector ID 1060  to spectrum no in bank is: "<<spectraMapping_bank[1060]<<std::endl;
-    std::cout<<"Mapping of detector ID 255  to spectrum no in monitor  is: "<<spectraMapping_monitor[255]<<std::endl;
-    int elem_bank = spectraMapping_bank[1060];
-    int elem_monitor = spectraMapping_monitor[255];
-
-    std::multimap<int,std::pair<int64_t,double>> m_eventData_bank = getEventData(file, sTime, true);
-    //std::multimap<int,std::pair<int64_t,double>> m_eventData_monitor = getEventData(file, sTime, false);
-    //typedef std::multimap<int, std::pair<int64_t,double>>::iterator it_multimap;
-    //it_multimap _specNo_bank = m_eventData_bank.find(elem_bank);
-    //it_multimap _specNo_monitor = m_eventData_monitor.find(elem_monitor);
-    //std::cout<<"spectra No "<<_specNo_bank->first<<" in bank has "<<m_eventData_bank.count(elem_bank)<<" event datas! They are: "<<std::endl;
-    //std::cout<<"spectra No "<<_specNo_monitor->first<<" in monitor has "<<m_eventData_monitor.count(elem_monitor)<<" event datas! They are: "<<std::endl;
-*/
-
+    if (spectraMapping_bank.count(510))
+    std::cout<<"Mapping of detector ID 510  to spectrum no in bank is: "<<spectraMapping_bank[510]<<std::endl;
+    if (spectraMapping_bank.count(515))
+    std::cout<<"Mapping of detector ID 515  to spectrum no in bank is: "<<spectraMapping_bank[515]<<std::endl;
+    if (spectraMapping_bank.count(1025))
+    std::cout<<"Mapping of detector ID 1025  to spectrum no in bank is: "<<spectraMapping_bank[1025]<<std::endl;
+    if (spectraMapping_monitor.count(255))
+    std::cout<<"Mapping of detector ID 255  to spectrum no in monitor is: "<<spectraMapping_monitor[255]<<std::endl;
+    if (spectraMapping_monitor.count(260))
+    std::cout<<"Mapping of detector ID 260  to spectrum no in monitor  is: "<<spectraMapping_monitor[260]<<std::endl;
+----------------------------------------------------------------------------------------------------------------------------*/
+
+/*---------------------------------------------------------------------------------------------------------------------------
+// test getEventData
+
+    std::multimap<int,std::pair<double, int64_t>> m_eventData_bank = getEventData(file, sTime, bPixelNum, true);
+    std::multimap<int,std::pair<double, int64_t>> m_eventData_monitor = getEventData(file, sTime, mPixelNum, false);
+
+    cout<<"the size of m_eventData_bank is: "<<m_eventData_bank.size()<<endl;
+    cout<<"the size of m_eventData_monitor is: "<<m_eventData_monitor.size()<<endl;
+    typedef std::multimap<int,std::pair<double, int64_t>>::iterator it_multimap;
+    // event data in banks
+    it_multimap _specNo_bank1 = m_eventData_bank.find(510);
+    if(_specNo_bank1 != m_eventData_bank.end())
+        std::cout<<"spectra No "<<_specNo_bank1->first<<" in bank has "<<m_eventData_bank.count(510)<<" event datas!"<<std::endl;
+
+    it_multimap _specNo_bank2 = m_eventData_bank.find(515);
+    if(_specNo_bank2 != m_eventData_bank.end())
+        std::cout<<"spectra No "<<_specNo_bank2->first<<" in bank has "<<m_eventData_bank.count(515)<<" event datas! "<<std::endl;
+
+    it_multimap _specNo_bank3 = m_eventData_bank.find(1025);
+    if(_specNo_bank3 != m_eventData_bank.end())
+        std::cout<<"spectra No "<<_specNo_bank3->first<<" in bank has "<<m_eventData_bank.count(1025)<<" event datas! "<<std::endl;
+    
+    //event data in monitors
+    it_multimap _specNo_monitor1 = m_eventData_monitor.find(255);
+    if(_specNo_monitor1 != m_eventData_monitor.end())
+    std::cout<<"spectra No "<<_specNo_monitor1->first<<" in monitor has "<<m_eventData_monitor.count(255)<<" event datas!"<<std::endl;
+
+    it_multimap _specNo_monitor2 = m_eventData_monitor.find(260);
+    if(_specNo_monitor2 != m_eventData_monitor.end())
+    std::cout<<"spectra No "<<_specNo_monitor2->first<<" in monitor has "<<m_eventData_monitor.count(260)<<" event datas!"<<std::endl;
+-------------------------------------------------------------------------------------------------------------------------------*/
     
     //load instrument
@@ -1398,9 +1391,4 @@
 */
 
-    // Load log of source, chopper and SE
-    prog->doReport("Loading time log");
-    loadLog(file, WS);
-    //std::cout<<"current path: "<<file->getPath()<<std::endl;
-
 
 /*
