Difference: AMC13RawDataAnalysis (1 vs. 22)

Revision 2228 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 35 to 35
 
  • The dumpraw analyzer can be built with the same directions as the CMSSW section below.
    • Run the code using cmsRun .../python/ConfFile_cfg.py
Added:
>
>
 

Unpacker

Revision 2127 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Revision 2027 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 25 to 25
 The two options for file types processed by this code are binary and root files. The code to switch from one to another or vice versa is here:

Binary to Root: https://github.com/elaird/hcalraw (From Ted Laird)

Added:
>
>
  • First run make in the cpp folder
 
  • The main tool for making badcoffee binary files is hcalraw/cpp/badcoffee.cpp. Usage is cat a.dat | ./badcoffee fed#.

Root to Binary: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/pythontools/rootdumper/ or http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/dumpraw/

  • The dumpraw code is a cmssw analyzer and requires a cmssw environment. The rootdumper only requires root.
  • The rootdumper is built by running the Makefile in rootdumper/cpp.
    • Run the code using ./oneRun.py --rootFile=HTB_007850.root --feds=928 --nEvents=101 --outputFile=data1.dat
Changed:
<
<
  • The dumpraw analyzer can be built with the same directions as the CMSSW section below.
>
>
  • The dumpraw analyzer can be built with the same directions as the CMSSW section below.
 
    • Run the code using cmsRun .../python/ConfFile_cfg.py

Unpacker

Changed:
<
<
Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/
>
>
Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/
  Class documentation: http://ohm.bu.edu/~djarcaro/Documentation/unpacker.pdf
Line: 60 to 61
 

Unpacker histogram option

If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array for easier visualization with large files.
Added:
>
>
 

CMSSW

The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/ and .../trunk/cmsswtools. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
Line: 73 to 76
 $ scram b
Changed:
<
<
To run the analyzer first set the parameters in the python file analyzer/parse/python/ConfFile_cfg.py. The most important parameters (besides the file name) are the HcalTBSource vs PoolSource and the rootType string input. Change these to correspond to either a local or global root file. The python script is set to run over multiple files in a directory. To then run the analyzer:
>
>
To run the analyzer first set the parameters in the python file analyzer/parse/python/ConfFile_cfg.py. The most important parameters (besides the file name) are the HcalTBSource vs PoolSource and the rootType string input. Change these to correspond to either a local or global root file. The python script is set to run over multiple files in a directory. To then run the analyzer:
 
$ cmsRun analyzer/parse/python/ConfFile_cfg.py.
Line: 85 to 88
 

To Do List

Deleted:
<
<
  • Add a doxygen configuration file and "doc" target to makefile so one can do 'make doc' and get the doxygen output.
 

New Features

Deleted:
<
<

DONE:

  • In FedEvent::PreParse the expression if(GetNAMC() > 0 || GetNAMC() < 13) is always true. I think you mean to use && instead of ||.
  • In FedEvent::PreParse there are two possibilities for size: a) 2 and b) 4...14. It should throw an exception if any other value is passed. The comments should reflect this.

  • Check for consistency of LMSEPVC bits through an entire event
    • MS should be "10" for first block, "11" for intermediate blocks, "01" for final blocks.
    • C should be 1 when MS="01".
    • EP should always be "11" I think
  • Check Blk_No, AmcNo, BoardID in block headers for consistency throughout event
  • Add option to dump entire AMC payloads

-- EricHazen - 04 Aug 2014

 
META FILEATTACHMENT attachment="unpacker.pdf" attr="" comment="Documentation for classes in unpacker" date="1439568028" name="unpacker.pdf" path="unpacker.pdf" size="128427" stream="unpacker.pdf" tmpFilename="/usr/tmp/CGItemp28297" user="djarcaro" version="1"

Revision 1923 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 43 to 43
 

Unpacker Build and Run Instructions

Check out and build:
Changed:
<
<
>
>
$svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/unpacker and http://edf.bu.edu/svn/edf/arcaro/cms/trunk/tools
$cd tools
$make
 List of tools and their uses:
  • dump64: Prints the raw data to screen in hex with 64bits per line. Used to sort through data by hand.
    • use: $ ./dump64 file.dat (usually followed by | less)
Line: 55 to 57
 
    • -c flag to turn CRC checking on or off
    • -e flag to print specific errors to screen
Changed:
<
<

Root and Histogram Options

>
>

Unpacker histogram option

 If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array for easier visualization with large files.

CMSSW

Line: 79 to 81
  All of this should be done using the same version of CMSSW as what the root file was produced with. To determine this use $ edmProvDump rootfile.root to see the CMSSW version number and other attributes of the file. There are also other edm functions that are quite useful (of course only on lxplus).
Deleted:
<
<

To Do List

 

Bugs

Added:
>
>

To Do List

 
  • Add a doxygen configuration file and "doc" target to makefile so one can do 'make doc' and get the doxygen output.

New Features

Revision 1823 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 24 to 24
  The two options for file types processed by this code are binary and root files. The code to switch from one to another or vice versa is here:
Changed:
<
<
Binary to Root: https://github.com/elaird/hcalraw
>
>
Binary to Root: https://github.com/elaird/hcalraw (From Ted Laird)
  • The main tool for making badcoffee binary files is hcalraw/cpp/badcoffee.cpp. Usage is cat a.dat | ./badcoffee fed#.

Root to Binary: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/pythontools/rootdumper/ or http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/dumpraw/

  • The dumpraw code is a cmssw analyzer and requires a cmssw environment. The rootdumper only requires root.
  • The rootdumper is built by running the Makefile in rootdumper/cpp.
    • Run the code using ./oneRun.py --rootFile=HTB_007850.root --feds=928 --nEvents=101 --outputFile=data1.dat
  • The dumpraw analyzer can be built with the same directions as the CMSSW section below.
    • Run the code using cmsRun .../python/ConfFile_cfg.py
 
Deleted:
<
<
Root to Binary: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/pythontools/rootdumper/ or http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/dumpraw/
 

Unpacker

Line: 34 to 41
  Class documentation: http://ohm.bu.edu/~djarcaro/Documentation/unpacker.pdf
Changed:
<
<

Build and Run Instructions:

>
>

Unpacker Build and Run Instructions

 Check out and build:
Line: 55 to 62
 The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/ and .../trunk/cmsswtools. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.

Recipe to build the analyzer code:

Changed:
<
<
>
>
 $ cmsrel CMSSW_#_#_# ($ scram list if you want to see the version choices) (The version should match the one that created the root file. Use edmProvDump name.root to check the version.)
Deleted:
<
<
 $ cd CMSSW_#_#_#/src
Deleted:
<
<
 $ cmsenv (equivalent: eval `scramv1 runtime -csh`)
Deleted:
<
<
 $ svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/
Deleted:
<
<
 $ svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/cmsswtools
Deleted:
<
<
 $ scram b
Added:
>
>
  To run the analyzer first set the parameters in the python file analyzer/parse/python/ConfFile_cfg.py. The most important parameters (besides the file name) are the HcalTBSource vs PoolSource and the rootType string input. Change these to correspond to either a local or global root file. The python script is set to run over multiple files in a directory. To then run the analyzer:
Added:
>
>
 $ cmsRun analyzer/parse/python/ConfFile_cfg.py.
Added:
>
>
  All of this should be done using the same version of CMSSW as what the root file was produced with. To determine this use $ edmProvDump rootfile.root to see the CMSSW version number and other attributes of the file. There are also other edm functions that are quite useful (of course only on lxplus).

Revision 1723 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
Changed:
<
<

New analysis code being developed for 2014 data format

>
>

New analysis code being developed for 2014 data format

  New code is being developed by Daniel Arcaro with help from Eric Hazen and Dan Gastler to analyze the new/final data format documented here: AMC13CommonFirmwareProposal.
Line: 16 to 16
 Bug reports are quite welcome. (to Ted Laird)
Changed:
<
<

Finding the Data

>
>

Finding the Data

  See EricFindingCMSData for some help.
Changed:
<
<

Unpacker:

>
>

Converting Data

The two options for file types processed by this code are binary and root files. The code to switch from one to another or vice versa is here:

Binary to Root: https://github.com/elaird/hcalraw

Root to Binary: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/pythontools/rootdumper/ or http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/dumpraw/

Unpacker

  Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/

Class documentation: http://ohm.bu.edu/~djarcaro/Documentation/unpacker.pdf

Changed:
<
<

Build and Run Instructions:

>
>

Build and Run Instructions:

 Check out and build:
Line: 40 to 48
 
    • -c flag to turn CRC checking on or off
    • -e flag to print specific errors to screen
Changed:
<
<

Root and Histogram Options:

>
>

Root and Histogram Options

 If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array for easier visualization with large files.
Changed:
<
<

CMSSW:

>
>

CMSSW

 The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/ and .../trunk/cmsswtools. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.

Recipe to build the analyzer code:

Line: 66 to 74
  All of this should be done using the same version of CMSSW as what the root file was produced with. To determine this use $ edmProvDump rootfile.root to see the CMSSW version number and other attributes of the file. There are also other edm functions that are quite useful (of course only on lxplus).
Changed:
<
<

To Do List

>
>

To Do List

 
Changed:
<
<

Bugs

>
>

Bugs

 
  • Add a doxygen configuration file and "doc" target to makefile so one can do 'make doc' and get the doxygen output.

Revision 1621 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Revision 1521 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 22 to 22
 

Unpacker:

Changed:
<
<
Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/
>
>
Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/cms/trunk/
  Class documentation: http://ohm.bu.edu/~djarcaro/Documentation/unpacker.pdf
Line: 60 to 60
  $ scram b
Changed:
<
<
To run the analyzer first set the parameters in the python file analyzer/parse/python/ConfFile_cfg.py. The most important parameters (besides the file name) are the HcalTBSource vs PoolSource and the rootType string input. Change these to correspond to either a local or global root file. To then run the analyzer:
>
>
To run the analyzer first set the parameters in the python file analyzer/parse/python/ConfFile_cfg.py. The most important parameters (besides the file name) are the HcalTBSource vs PoolSource and the rootType string input. Change these to correspond to either a local or global root file. The python script is set to run over multiple files in a directory. To then run the analyzer:
  $ cmsRun analyzer/parse/python/ConfFile_cfg.py.

Revision 1416 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 28 to 28
 

Build and Run Instructions:

Check out and build:
Changed:
<
<
>
>
 
  • $cd tools
  • $make
List of tools and their uses:
Line: 44 to 44
 If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array for easier visualization with large files.

CMSSW:

Changed:
<
<
The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/ and /cmsswtools. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
>
>
The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/ and .../trunk/cmsswtools. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
  Recipe to build the analyzer code:
Changed:
<
<
$ cmsrel CMSSW_#_#_# ($scram list if you want to see the version choices) (The version should match the version that created the root file. Use edmProvDump name.root to check the version.)
>
>
$ cmsrel CMSSW_#_#_# ($ scram list if you want to see the version choices) (The version should match the one that created the root file. Use edmProvDump name.root to check the version.)
  $ cd CMSSW_#_#_#/src

Revision 1315 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 44 to 44
 If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array for easier visualization with large files.

CMSSW:

Changed:
<
<
The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
>
>
The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/ and /cmsswtools. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
  Recipe to build the analyzer code:
Changed:
<
<
$ cmsrel CMSSW_#_#_# ($scram list if you want to see the version choices)
>
>
$ cmsrel CMSSW_#_#_# ($scram list if you want to see the version choices) (The version should match the version that created the root file. Use edmProvDump name.root to check the version.)
  $ cd CMSSW_#_#_#/src
Line: 56 to 56
  $ svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/
Changed:
<
<
$ cd analyzer/parse/plugins

$ pushd somewhere else

$ svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/unpacker/ (You can put this anywhere you would like, just make sure the contents of unpacker end up in the plugins folder)

$ popd

$ mv _somewhere_else_/unpacker/* ./

You should now have all the FedEvent source code in the plugins folder alongside BuildFile.xml and parse.cc

$ cd .. (to parse folder)

>
>
$ svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/cmsswtools
  $ scram b
Changed:
<
<
To run the analyzer on a root file use $ cmsRun python/ConfFile_cfg.py.
>
>
To run the analyzer first set the parameters in the python file analyzer/parse/python/ConfFile_cfg.py. The most important parameters (besides the file name) are the HcalTBSource vs PoolSource and the rootType string input. Change these to correspond to either a local or global root file. To then run the analyzer:
 
Changed:
<
<
Some modifications must be made to the analyzer code depending on the root file type. The only two files that would need to be changed are plugings/parse.cc and python/ConfFile_cfg.py. The ConfFile_cfg.py has the Fed ID input and the root file name. If the root file is local the line process.source = cms.Source("HcalTBSource", should not be commented out, but the one with PoolSource should be. Also, in parse.cc the lines Handle rawdata; iEvent.getByLabel("source",rawdata); should not be commented out, but the one with rawDataCollector should be. If the root file is a global run, the opposite should be done for both files.
>
>
$ cmsRun analyzer/parse/python/ConfFile_cfg.py.
  All of this should be done using the same version of CMSSW as what the root file was produced with. To determine this use $ edmProvDump rootfile.root to see the CMSSW version number and other attributes of the file. There are also other edm functions that are quite useful (of course only on lxplus).

Revision 1215 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 68 to 68
  You should now have all the FedEvent source code in the plugins folder alongside BuildFile.xml and parse.cc
Changed:
<
<
$ cd ..
>
>
$ cd .. (to parse folder)
  $ scram b

Revision 1114 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 64 to 64
  $ popd
Changed:
<
<
$ cp _somewhere_else_/unpacker/* ./
>
>
$ mv _somewhere_else_/unpacker/* ./
  You should now have all the FedEvent source code in the plugins folder alongside BuildFile.xml and parse.cc
Line: 72 to 72
  $ scram b
Added:
>
>
To run the analyzer on a root file use $ cmsRun python/ConfFile_cfg.py.

 Some modifications must be made to the analyzer code depending on the root file type. The only two files that would need to be changed are plugings/parse.cc and python/ConfFile_cfg.py. The ConfFile_cfg.py has the Fed ID input and the root file name. If the root file is local the line process.source = cms.Source("HcalTBSource", should not be commented out, but the one with PoolSource should be. Also, in parse.cc the lines Handle rawdata; iEvent.getByLabel("source",rawdata); should not be commented out, but the one with rawDataCollector should be. If the root file is a global run, the opposite should be done for both files.

All of this should be done using the same version of CMSSW as what the root file was produced with. To determine this use $ edmProvDump rootfile.root to see the CMSSW version number and other attributes of the file. There are also other edm functions that are quite useful (of course only on lxplus).

Revision 1014 Oct 2015 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 16 to 16
 Bug reports are quite welcome. (to Ted Laird)
Added:
>
>

Finding the Data

See EricFindingCMSData for some help.

 

Unpacker:

Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/

Line: 54 to 58
  $ cd analyzer/parse/plugins
Changed:
<
<
$ svn co http://edf.bu.edu/svn/edf/arcaro/unpacker/ (You can put this anywhere you would like, just make sure the contents of unpacker end up in the plugins folder)
>
>
$ pushd somewhere else

$ svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/unpacker/ (You can put this anywhere you would like, just make sure the contents of unpacker end up in the plugins folder)

$ popd

 
Changed:
<
<
$ cp unpacker/* ./
>
>
$ cp _somewhere_else_/unpacker/* ./
  You should now have all the FedEvent source code in the plugins folder alongside BuildFile.xml and parse.cc

Revision 914 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 40 to 40
 If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array for easier visualization with large files.

CMSSW:

Changed:
<
<
The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/analyzer. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
>
>
The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
  Recipe to build the analyzer code:
Line: 50 to 50
  $ cmsenv (equivalent: eval `scramv1 runtime -csh`)
Changed:
<
<
$ svn co http://edf.bu.edu/svn/edf/arcaro/analyzer/
>
>
$ svn co http://edf.bu.edu/svn/edf/arcaro/cms/trunk/analyzer/
  $ cd analyzer/parse/plugins
Changed:
<
<
$ svn co http://edf.bu.edu/svn/edf/arcaro/unpacker/
>
>
$ svn co http://edf.bu.edu/svn/edf/arcaro/unpacker/ (You can put this anywhere you would like, just make sure the contents of unpacker end up in the plugins folder)
  $ cp unpacker/* ./
Line: 64 to 64
  $ scram b
Added:
>
>
Some modifications must be made to the analyzer code depending on the root file type. The only two files that would need to be changed are plugings/parse.cc and python/ConfFile_cfg.py. The ConfFile_cfg.py has the Fed ID input and the root file name. If the root file is local the line process.source = cms.Source("HcalTBSource", should not be commented out, but the one with PoolSource should be. Also, in parse.cc the lines Handle rawdata; iEvent.getByLabel("source",rawdata); should not be commented out, but the one with rawDataCollector should be. If the root file is a global run, the opposite should be done for both files.

All of this should be done using the same version of CMSSW as what the root file was produced with. To determine this use $ edmProvDump rootfile.root to see the CMSSW version number and other attributes of the file. There are also other edm functions that are quite useful (of course only on lxplus).

 

To Do List

Bugs

Revision 809 Oct 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 24 to 24
 

Build and Run Instructions:

Check out and build:
Changed:
<
<
>
>
 
  • $cd tools
  • $make
List of tools and their uses:

Revision 725 Sep 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 42 to 42
 

CMSSW:

The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/analyzer. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
Added:
>
>
Recipe to build the analyzer code:

$ cmsrel CMSSW_#_#_# ($scram list if you want to see the version choices)

$ cd CMSSW_#_#_#/src

$ cmsenv (equivalent: eval `scramv1 runtime -csh`)

$ svn co http://edf.bu.edu/svn/edf/arcaro/analyzer/

$ cd analyzer/parse/plugins

$ svn co http://edf.bu.edu/svn/edf/arcaro/unpacker/

$ cp unpacker/* ./

You should now have all the FedEvent source code in the plugins folder alongside BuildFile.xml and parse.cc

$ cd ..

$ scram b

 

To Do List

Bugs

Revision 619 Aug 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 37 to 37
 
    • -e flag to print specific errors to screen

Root and Histogram Options:

Changed:
<
<
If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array.
>
>
If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array for easier visualization with large files.

CMSSW:

The dump software has also been implemented in a cmssw analyzer to extract raw data from global/local root files and unpack it. This requires a cmssw environment (most likely lxplus). The code can be found here http://edf.bu.edu/svn/edf/arcaro/analyzer. General instructions to make an analyzer can be found here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookWriteFrameworkModule.
 

To Do List

Revision 514 Aug 2015 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 16 to 16
 Bug reports are quite welcome. (to Ted Laird)
Changed:
<
<
A preliminary API is documented below. Three classes are foreseen:
>
>

Unpacker:

 
Changed:
<
<
Class Description
FedEvent one event fragment as received from an AMC13 in response to a single L1A
FedAmc Payload for one AMC
FedBlock internal block structure of event fragment

Each class is documented below:

Class FedEvent

Function Description
FedEvent( uint64_t* data, size_t size) Constructor using raw data
EvN(), BcN(), OrN() Access Event, Bunch and Orbit numbers from event header
vector amc Vector of 1...12 FedAmc objects representing AMC payloads
CalcSize() Size calculated from structure (should match total word count)
CRC() CRC16 from event trailer
CalcCRC() CRC16 calculated from event data (should match CRC())
>
>
Unpacker consists of three classes to parse AMC13 data format: FedEvent, FedBlock, and FedAMC. Various tools have also been created to utilize these classes and analyze the data. All code can be found here: http://edf.bu.edu/svn/edf/arcaro/

Class documentation: http://ohm.bu.edu/~djarcaro/Documentation/unpacker.pdf

Build and Run Instructions:

Check out and build: List of tools and their uses:
  • dump64: Prints the raw data to screen in hex with 64bits per line. Used to sort through data by hand.
    • use: $ ./dump64 file.dat (usually followed by | less)
  • dump: Main dump tool to parse events and check for errors.
    • use: $ ./dump file.dat -v 1 -e 1 -c
    • -v flag for amount of information about the event printed to screen
    • -c flag to turn CRC checking on or off
    • -e flag to print specific errors to screen

Root and Histogram Options:

If root is installed dumptmp.cc can be made by $make root=1. dumptmp is identical to dump but also creates a root file with a histogram of the error array.
 

To Do List

Bugs

Deleted:
<
<
  • In FedEvent::PreParse the expression if(GetNAMC() > 0 || GetNAMC() < 13) is always true. I think you mean to use && instead of ||.
  • In FedEvent::PreParse there are two possibilities for size: a) 2 and b) 4...14. It should throw an exception if any other value is passed. The comments should reflect this.
 
  • Add a doxygen configuration file and "doc" target to makefile so one can do 'make doc' and get the doxygen output.

New Features

Added:
>
>

DONE:

  • In FedEvent::PreParse the expression if(GetNAMC() > 0 || GetNAMC() < 13) is always true. I think you mean to use && instead of ||.
  • In FedEvent::PreParse there are two possibilities for size: a) 2 and b) 4...14. It should throw an exception if any other value is passed. The comments should reflect this.
 
  • Check for consistency of LMSEPVC bits through an entire event
    • MS should be "10" for first block, "11" for intermediate blocks, "01" for final blocks.
    • C should be 1 when MS="01".
Line: 52 to 59
 
  • Check Blk_No, AmcNo, BoardID in block headers for consistency throughout event
  • Add option to dump entire AMC payloads
Added:
>
>
 -- EricHazen - 04 Aug 2014
Added:
>
>
META FILEATTACHMENT attachment="unpacker.pdf" attr="" comment="Documentation for classes in unpacker" date="1439568028" name="unpacker.pdf" path="unpacker.pdf" size="128427" stream="unpacker.pdf" tmpFilename="/usr/tmp/CGItemp28297" user="djarcaro" version="1"

Revision 430 Apr 2015 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

New code is being developed by Daniel Arcaro with help from Eric Hazen and Dan Gastler to analyze the new/final data format documented here: AMC13CommonFirmwareProposal.

Added:
>
>
Also Ted Laird has written a tool to convert to root format:

P.S. If you end up dumping the AMC13 monitor buffers, but would like
to convert the dumps to .root files with TTrees of
std::vector, so that you can use "ordinary" analysis
programs to analyze them, feel free to use this program:
badcoffee.cpp

Bug reports are quite welcome.  (to Ted Laird)
  A preliminary API is documented below. Three classes are foreseen:

Revision 304 Aug 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"

New analysis code being developed for 2014 data format

Line: 10 to 10
 
Class Description
FedEvent one event fragment as received from an AMC13 in response to a single L1A
FedAmc Payload for one AMC
Changed:
<
<
AMC13Block internal block structure of event fragment
>
>
FedBlock internal block structure of event fragment
  Each class is documented below:
Line: 24 to 24
 
CRC() CRC16 from event trailer
CalcCRC() CRC16 calculated from event data (should match CRC())
Changed:
<
<

FedAmc

>
>

To Do List

 
Added:
>
>

Bugs

 
Added:
>
>
  • In FedEvent::PreParse the expression if(GetNAMC() > 0 || GetNAMC() < 13) is always true. I think you mean to use && instead of ||.
  • In FedEvent::PreParse there are two possibilities for size: a) 2 and b) 4...14. It should throw an exception if any other value is passed. The comments should reflect this.
  • Add a doxygen configuration file and "doc" target to makefile so one can do 'make doc' and get the doxygen output.
 
Changed:
<
<

For preliminary HCAL data format used through 2013

>
>

New Features

 
Changed:
<
<
I've developed a simple unpacker and some command-line tools to dump and error-check the data from the VME system or the new MicroTCA system (data formats are a bit different). The original version was developed as a CMSSW job "EricDIM" TWiki page.
>
>
  • Check for consistency of LMSEPVC bits through an entire event
    • MS should be "10" for first block, "11" for intermediate blocks, "01" for final blocks.
    • C should be 1 when MS="01".
    • EP should always be "11" I think
  • Check Blk_No, AmcNo, BoardID in block headers for consistency throughout event
  • Add option to dump entire AMC payloads
 
Deleted:
<
<
To get the tools from our svn and build them:

  $ svn co svn://cms1.bu.edu/Eric
  $ cd Eric/RawAnalysis
  $ make
  $ ./dump_DTC.exe
  usage:  dump_DTC.exe [options] file_name
    -e (check for sequential EvN)
    -h (check for uHTR EvN)
    -v (verbose)
    -d 
       1=DTC header 2=uHTR headers  3=uHTR payload
  $

If you run e.g. ./dump_DTC.exe -h dump1.dat it will check the file dump1.dat for EvN, BcN and OrN errors. The data format is documented here. ("HCAL Upgrade Data Format", latest version).

-- EricHazen - 18 Oct 2013

 \ No newline at end of file
Added:
>
>
-- EricHazen - 04 Aug 2014

Revision 213 Jun 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="HcalDTC"
Added:
>
>

New analysis code being developed for 2014 data format

New code is being developed by Daniel Arcaro with help from Eric Hazen and Dan Gastler to analyze the new/final data format documented here: AMC13CommonFirmwareProposal.

A preliminary API is documented below. Three classes are foreseen:

Class Description
FedEvent one event fragment as received from an AMC13 in response to a single L1A
FedAmc Payload for one AMC
AMC13Block internal block structure of event fragment

Each class is documented below:

Class FedEvent

Function Description
<-- -->
Sorted descending
vector amc Vector of 1...12 FedAmc objects representing AMC payloads
CalcSize() Size calculated from structure (should match total word count)
CRC() CRC16 from event trailer
CalcCRC() CRC16 calculated from event data (should match CRC())
FedEvent( uint64_t* data, size_t size) Constructor using raw data
EvN(), BcN(), OrN() Access Event, Bunch and Orbit numbers from event header

FedAmc

For preliminary HCAL data format used through 2013

 I've developed a simple unpacker and some command-line tools to dump and error-check the data from the VME system or the new MicroTCA system (data formats are a bit different). The original version was developed as a CMSSW job "EricDIM" TWiki page.

Revision 118 Oct 2013 - EricHazen

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="HcalDTC"
I've developed a simple unpacker and some command-line tools to dump and error-check the data from the VME system or the new MicroTCA system (data formats are a bit different). The original version was developed as a CMSSW job "EricDIM" TWiki page.

To get the tools from our svn and build them:

  $ svn co svn://cms1.bu.edu/Eric
  $ cd Eric/RawAnalysis
  $ make
  $ ./dump_DTC.exe
  usage:  dump_DTC.exe [options] file_name
    -e (check for sequential EvN)
    -h (check for uHTR EvN)
    -v (verbose)
    -d 
       1=DTC header 2=uHTR headers  3=uHTR payload
  $

If you run e.g. ./dump_DTC.exe -h dump1.dat it will check the file dump1.dat for EvN, BcN and OrN errors. The data format is documented here. ("HCAL Upgrade Data Format", latest version).

-- EricHazen - 18 Oct 2013

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback