PandoraPFA itself is documented at ILCSoft. This article concentrates on applying PandoraPFA on AHCAL data.


These preparation steps have to be applied on the data in order to produce a pseudo neutral hadron shower based on the charged hadron events.

Primary Track Removal

The primary track removal uses the shower start finder, conter of gravity in x and y direction, respectively. The aim is to remove the MIP track in front of the shower, but with respect to backscattering hits. The primary is therefore removed by using a cylinder in front of the first hard interacting. The responsible processor is .

Tracks for Monte Carlo

Since AHCAL does not have a tracker in front of the calorimeter (at least not in Monte Carlo), it is  necesary to create an artificial track for the PandoraPFA Algorithm. The algorithm is based on a full detector, so the absence of the track might lead to a different outcome. PandoraPFA without track information always assumes a neutral particle. Therefore the fake track processor can be found under: .

Within the processor there are four different options to obtain the track. The default algorithm called MCEndpointMethodAll has shown the best result so far.

Tracks for Data

Since the PandoraPFA algorithm is based on the tracking information, the track information for the testbeam data is only present, when a tracking detector (e.g. Delayed wired chambers) is used. Therefore only the data from the Testbeam of  June 2018  can be used! Don't forget to run the split collection processor before the reconstruction. In the split collection steering file, the DWC (Delayed wired chamber) processor is included. It is per default deactivated because it is not part of the standard analyse. Thus it has to be activated! The processor is named: .

Additionally for the DWC processor three files are needed for every single run! These are bif, ahcal and dwc files all with a .raw or .root file type. These can be found: /pnfs/ .

After this stage one can run the standardized reconstruction of the AHCAL data.

Event Filter

The event filter processor selects the event by several parameter like track specific properties (e.g. track hit match in the first layers) or event properties (shower start layer, maximum energy). The corresponding processor can be found under: .

Within the event filter processor the event track offset x and y, respectively, has to be adapted for testbeam data. The default value is used for Monte Carlo and is 0. The corresponding files for the global offset correction between AHCAL and DWC can be found under: /nfs/dust/ilc/group/flchcal/AHCAL_Testbeam_SPS_June2018/dwc_offsets.txt . 

Event Overlay

The event overlay processor merges two different events into one single event. The main idea is to overlay a neutral and charged event in order to test the separation capability of the PandoraPFA Algorithm. Since PandoraPFA is only working with slcio files, this can't be done in root without a huge effort to reconvert into slciio files. Therefore it is implemented to work directly with slcio files. The processor can be found under: .

Prerequisite for the processor are a couple of other processor providing information about the geoconditions, mapping an cell desciption. Thus the Conditions, Mapping and CellDescription processor have to be in executed before the merging processor!

Attention: The LCIOInputFiles under the global parameters must have the first file filled with the pseudo neutral events.

Attention: The collection parameter 'Collection Map' has a special composition. It defines the overlay. It should look like this:

<parameter name="CollectionMap" type="StringVec">

NeutralShowerHits HCALCalorimeter_Hits MergedHCALHits

null                                DWCData                          DWCData2


Attention: The processor is prepared for a multiple particle overlay, but only the two particle overlay is implemented. Thus is is necessary to set the two particle mode to true.

The merge processor implements four different merging modes defined by two parameter.

The first parameter (AllAcceptanceMode: true) merges the events undependently of their radial shower distance. If it is turned off (AllAcceptanceMode: false), then one can choose the radial shower distance. One can define the number of merging attemps to find a desired shower distance within a specific range.

The second parameter (SubSequentMode: true) define the sequence of the event merging attemps. If it is true, is goes through the number of event in order. Otherwise it randomly picks events from the second event collection.

Pandora Interface

After the preparation, the data is ready to be inserted into Pandora PFA. Since PandoraPFA was not invented nor intended to be used with AHCAL stand alone data, this step includes several processors (DDMarlinPandora) converting this data into for PandoraPFA useful data. 

This interface processor is used for ILD (International Large Detector) and SiD (Silicon detector). To work with AHCAL stand alone data, a modified copy of this processor was created and can be found under calice_pandora ( Important: The processor must be the Ahc2 processor due to an update 2014. 

The modified processor is named DDPandoraPFANewProcessor. Standard steering files are included within the repository of calice_pandora. 

DDMarlinPandora libraries

This list will give a short introduction into the libraries included within DDMarlinPandora and their modifications. 


The TrackCreatorTB18 creates a track for the Monte Carlo and Wire Chamber collection hits for the testbeam 2018. 


This processor is located at this place but independent from DDMarlinPandora. It was already described in the preparation chapter. 


This processor is the base for the TrackCreatorTB18 processor and was replaced by it. It is still in the repo due to documentation purposes. 


The PseudoLayer processor is used to number the layers of the different parts of the detector in a uniform manner from the inner most to the outer most layer. This had to be adapted for the AHCAL Stand alone due to the non existing tracker and electric calorimeter. 


The PFO creator reconverts the PandoraPFA final reconstruction output data back into slcio files for further analysis. Since this is non specific, there were no changes for the AHCAL stand alone data. 


The DDPandoraPFANewProcessor is the master processor managing the steering files and the other processors. Since there are no tracking chamber and no ECAL present, the processor has been highly reduced to AHCAL data. 


The DDMCParticleCreator allows to create the MC truth information (track and hit) collections and therefore giving PandoraPFA the opportunity to valide the outcome. This processor was not adapted for AHCAL. 


The geometry creator provides the structure of the detector setup. It has a interface with DD4hep and had been highly adopted for AHCAL stand alone data. 


The DDCaloHitCreator reads and converts the calorimeters hits for further analysis in PandoraPFA. It was reduced to work with stand alone data. 


The DDBFieldPlugin define the B field within the detector. It was not modified but has to be set to a non zero value otherwise PandoraPFA algorithms will raise error messages. 


The DD4Hep geometry driver had to be adapted, because the CaliceSoft version of DD4Hep is different from the DDMarlinPandora required version. Therefore some adaption had to be made. 

The files can be found under: 

How to run PandoraPFA 

Within inn the folder you can find different files. 

There is the mymarlin file which initializes every adapted version. Attention, maybe some pathes have to be adapted in this file. 

Furthermore there is the FullPandoraRecoChain.xml file that is the master steering file for PandoraPFA. It loads every other steering file needed for the run. 

The Calibration steering file contains constants and values needed for the PandoraPFA AHCAL stand alone run. 

The PandoraPFA_HCAL18.xml file includes parameter for the Pandora PFA interface. E.g. which collections should be used and their names. 

The PandoraSettingsBasic_hcal.xml files steers the used algorithm and the output. 


The analysis can be done with the following processor: . This may be the base for further analysis and the analysis can then be done. 

Good luck. 

  • No labels