Goal: Sensitive detector made of air around beam pipe to score hits (p, n, pi, gamma) as a function of eta, E.

Tue, Aug 3, 2010

Edited header/source files of G4 example extended/eventgenerator/HepMC/HepMC01 based on novice ExN04. Will use a cylindric layer of air (DetectorConstruction, AirSD, AirHit, AirParametrisation), moved other files (Calorimeter, Tracker, Muon, Field) to dir /extended for future use. HepMC Interface for Pythia6 doesn't work properly as implemented in G4 examples - wrong file names included in header files but even after fixing that, there is some error in a variable conversion (HepLorentzVector). However, there's no existing interface for Pythia8 yet, hence will try to use Pythia6...

Thur, Aug 5, 2010

Editing TestAction1.cc to fill histograms/ntuples (not sure yet what's best solution!?) for simulation. TH2D with eta vs. Energy? TH1D for eta vs. number of p, n, pi...? First bunch of errors fixed after first compilation of example01 (include HepMC in makefile, #include HepMC/IO_AsciiParticles.h)

Thur, Aug 12, 2010

Moved parameterisation files (AirParametrisation.cc/.hh, AirDetectorParameters.icc/.hh) to /extended since they keep giving errors... AirSD entirely defined in DetectorConstruction.cc now. However, AirSD is still giving error messages:

Compiling AirSD.cc ... src/AirSD.cc:14: error: ‘AirSD’ has not been declared src/AirSD.cc:14: error: ISO C++ forbids declaration of ‘AirSD’ with no type src/AirSD.cc: In function ‘int AirSD(G4String)’: src/AirSD.cc:15: error: only constructors take base initializers src/AirSD.cc:18: error: ‘collectionName’ was not declared in this scope src/AirSD.cc: At global scope: src/AirSD.cc:21: error: expected constructor, destructor, or type conversion before ‘::’ token src/AirSD.cc:24: error: ‘AirSD’ is not a class or namespace src/AirSD.cc: In function ‘void Initialize(G4HCofThisEvent*)’: src/AirSD.cc:28: error: ‘airCollection’ was not declared in this scope src/AirSD.cc:28: error: expected type-specifier before ‘AirHitsCollection’ src/AirSD.cc:28: error: expected `;' before ‘AirHitsCollection’ src/AirSD.cc:31: error: ‘GetCollectionID’ was not declared in this scope src/AirSD.cc: At global scope: src/AirSD.cc:36: error: ‘AirSD’ is not a class or namespace src/AirSD.cc: In function ‘G4bool ProcessHits(G4Step*, G4TouchableHistory*)’: src/AirSD.cc:43: error: ‘AirHit’ was not declared in this scope src/AirSD.cc:43: error: ‘newHit’ was not declared in this scope src/AirSD.cc:43: error: expected type-specifier before ‘AirHit’ src/AirSD.cc:43: error: expected `;' before ‘AirHit’ src/AirSD.cc:46: error: ‘airCollection’ was not declared in this scope src/AirSD.cc: At global scope: src/AirSD.cc:52: error: ‘AirSD’ is not a class or namespace

strange, AirSD IS defined as a G4VSensitiveDetector class member... keep trying

Tue, Sept 21, 2010

Vector Conversion fixed: instead of G4LorentzVector use HepMC::HepLorentzVector in addition: define position vector G4ThreeVector pos for Checking if vertex is inside world volume. Use of Pythia: define CERNLIB in environment, add lkernlib, lpacklib and lgfortran in GNUMakefile - hepmcEx01 compiles as geant example!

G4Pythia: AirSD problem fixed! Now editing TestAction1.cc to create desired plots: eta/(number of particles), eta/(number of charged particles), eta/(deposited energy)

Started looking at https://twiki.cern.ch/twiki/bin/view/AtlasProtected/D3PDMaking to handle data files...

Mon, Sept 27, 2010

Not sure how to create TTree properly... variables to be filled in tree are not recognized... According to Adele Rimoldi, had a look at geant4.9.3/examples/advanced/hadrontherapy. There AIDA analysis package used for booking histograms and creating trees... will try that! Using Analysis-/treeFactory, creating Ntuples -> energy deposit per slice...

Wed, Sept 29, 2010

Program finally compiles! However, have to check where exactly to define type of event for Pythia... command for minbias event should be "pysubs msel 1". Erase SingleParticleGenerator as Primary Generator. P.S. Abandoned using AIDA treeFactory but use ROOT instead!

-bash-3.2$ ./exampleN01 Creating FADS plug-in catalog

*********************************************************** Geant4 version Name: geant4-09-03 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ***********************************************************

trying to build a XML parser loading library FadsControl:FadsMaterial loading package FadsControl version loading package FadsMaterial version creating run manager Detector creating primary generator PrimaryGenerator

* G4Exception : Run0001 issued by : G4VUserPrimaryGeneratorAction::G4VUserPrimaryGeneratorAction() You are instantiating G4VUserPrimaryGeneratorAction BEFORE your G4VUserPhysicsList is instantiated and assigned to G4RunManager. Such an instantiation is prohibited by Geant4 version 8.0. To fix this problem, please make sure that your main() instantiates G4VUserPhysicsList AND set it to G4RunManager before instantiating other user action classes such as G4VUserPrimaryParticleGeneratorAction. * Fatal Exception * core dump *

* G4Exception: Aborting execution * Aborted

Try now with simple geometry, adding features step by step... first just to look at pythia generator output!

Fri, Oct 1, 2010

PhysicsList initialized from QGSP.hh, however:

-bash-3.2$ ./exampleN01 Creating FADS plug-in catalog

*********************************************************** Geant4 version Name: geant4-09-03 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ***********************************************************

<<< Geant4 Physics List engine packaging library: PACK 5.5 Photon-evaporation data are needed. Please set the environmental variable G4LEVELGAMMADATA to point to your PhotonEvaporation directory. Data are available from the Geant4 download page.

* G4Exception : 007 issued by : G4DataQuestionaire Fatal error: Missing mandatory data for this simulation engine * Fatal Exception * core dump *

* G4Exception: Aborting execution * Aborted

checking now for G4 data files... nothing mentioned in README of geant4 example!!! frown

Mon, Oct 4, 2010

Trying to fix segmentation fault by taking out TProfile (total radiation length) from TestAction1.cc, moved it to AnalysisManager.cc where other plots are created as well... Now seg fault occures even sooner!

-bash-3.2$ ./exampleN01 Creating FADS plug-in catalog

*********************************************************** Geant4 version Name: geant4-09-03 (18-December-2009) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ***********************************************************

<<< Geant4 Physics List engine packaging library: PACK 5.5 <<< Geant4 Physics List simulation engine: QGSP 3.4

*===================================================================== * * The Physics list QGSP is NO LONGER SUPPORTED ! * and is likely to be deleted in a future release of Geant4 * * We recommend you try the physics lists QGSP_BERT, * this offers similar functionality for most use cases * * * We invite you to report your use case for, and your experience with * this physics list on the Geant4 User Forum dedicated to physics * lists: * http://hypernews.slac.stanford.edu/HyperNews/geant4/get/phys-list.html * =====================================================================

trying to build a XML parser loading library FadsControl:FadsMaterial loading package FadsControl version loading package FadsMaterial version creating run manager Detector creating primary generator PrimaryGenerator creating event action FadsEventAction creating run action FadsRunAction creating event action FadsSteppingAction Creating AGDD2G4Model Builder Creating the AGDD controller defining user action TestAction1 available for states Step available for states BeginOfRun available for states EndOfRun available for states EndOfEvent available for states BeginOfEvent Parsing file Material_AGDD.xml Parsing file color.xml Parsing file BeamPipe2.xml Parsing file world.xml building as mother volume World adding section BeamPipe buildSelectedSections All this is BuildFromSection; looking for BeamPipe Section BeamPipe found! BeamPipe done! Running Construct()

* Break * segmentation violation Segmentation fault

hmmm.... ran Geant4.9.3. patch, re-compiled G4, let's see...

Tue, Oct 5, 2010

After disk space problems, finally managed to re-install G4. Now when 'make':

In file included from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/processes/hadronic/models/theo_high_energy/include/G4TheoFSGenerator.hh:47, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/builders/include/G4ElectroNuclearBuilder.hh:32, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/builders/include/G4EmExtraPhysics.hh:51, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/lists/include/QGSP_BERT.icc:63, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/lists/include/QGSP_BERT.hh:61, from exampleN01.cc:13: /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/processes/hadronic/models/theo_high_energy/include/G4QuasiElasticChannel.hh:46:32: error: G4QuasiFreeRatios.hh: No such file or directory In file included from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/processes/hadronic/models/theo_high_energy/include/G4TheoFSGenerator.hh:53, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/builders/include/G4ElectroNuclearBuilder.hh:32, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/builders/include/G4EmExtraPhysics.hh:51, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/lists/include/QGSP_BERT.icc:63, from /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/physics_lists/lists/include/QGSP_BERT.hh:61, from exampleN01.cc:13: /afs/cern.ch/user/k/knikolic/scratch0/geant4.9.3/source/processes/hadronic/models/theo_high_energy/include/G4ProjectileDiffractiveChannel.hh:46:34: error: G4QDiffractionRatio.hh: No such file or directory

Same when using QGSP as PhysicsList... -> ???

Mon, Oct 11, 2010

HepMCEx01 compiles without problem, no error message about QGSP(_BERT), however when running the program there are no hits in Tracker/Calo/Muon... Tried the EXACT same thing with simple pipe-detector geometry, now again problem with QGSP?!?! Now focusing on Athena...

Wed, Oct 20, 2010

Problem with QGSP list -> was using wrong binmake! ($G4INSTALL)/config/binmake.gmk instead of FADS version!!!

To do for Mapping material in ATLAS inner detector with secondary hadronic interactions:

For now, you can get the code from SVN and run it. I also have a version of the root macro in there; I think it matches the code that is checked in, but if it doesn't, it will be easy to fix. The root macro that is in SVN is very long and "complicated", but I'll give you some pointers. In a couple of days, I will check in the latest code - here I have simplified the root macro, as well as reduce the size of the ntuple that is written out. You can switch to that later.

1) Once you have set up your work area (instructions are in the computing workbook) under, say, 15.6.9, do

cmt co -r VrtSecInclusive-00-01-30 Reconstruction/VKalVrt/VrtSecInclusive

this version is essentially the same as the one used for the CONF note - it has a couple of extra variables.

go into the VrtSecInclusive/cmt sub-dir, and do "gmake". this will compile the code.

2) Under your 15.6.9 workarea, make a sub-dir called run/ and cd into that.

3) Copy VrtSecInclusive/Share/VrtSecInclusive_jobOptions_Rel15_Auto.py into your run/ sub-dir.

This is the jobOption file that you will run. It uses AutoConfiguration, which means that Athena will peek inside the file you are reading and figure out if it is data or MC, AOD or ESD, etc. If you see lines 87 and 90, you will see how the code reacts to that.

Lines 74,75,77 and 78 are setting up some of the track selection cuts. You can look in src/VrtSecInclusive.cxx and Utilities.cxx to see how these values get used.

To run on a test file, give the full path of a test AOD/ESD file on line 9 of this file, and then do,

athena VrtSecInclusive_jobOptions_Rel15_Auto.py >& test.log

This will produce a root file called vert.root, and a log file.

4) To run on this root file, get Interactions.C, .h, and run_Interactions.C from the share/ sub-dir to your run/ sub-dir.

The .C and .h files were made as followes:

root vert.root

CollectionTree->MakeClass("Interactions")

(In the new version, I use MakeSelector - that is necessary if you are using the Parallel Root Facility (PROOF), but we can leave that for later).

In run_Interactions.root, it looks for vert1.root. So, you can rename the file you made above or make a soft-link, or change run_Interactions.C

Interactions.C is "huge". Line 3067 starts the loop over reconstructed vertices. I separate out cases where the vertex is made of 2 tracks with opposite charge (here I will remove Ks, photon, Lambda), 2 tracks with the same charge and >2 tracks. Some histograms, with the _all suffix, are filled for all vertices, and some _2Trk0chg, etc., are filled for specific cases.

For now, you should use the ones with _all. You will also see some with _allZ. These are for vertices whose |z-positions| < 300 mm; in the CONF note, most of the plots are with this cut.

5) Input files - MC

I used files from mc09_7TeV.105001.pythia_minbias.recon.AOD.e517_s764_s767_r1229/

6) Input files - data. These are ESD's, but the jobOption file will handle this transparently (all the information in AOD's is also in ESD'). The only difference is the truth container, but that is not an issue for data files

data10_7TeV.00152409.physics_MinBias.merge.ESD.f239_p151_tid140708_00 data10_7TeV.00152441.physics_MinBias.merge.ESD.f239_p151_tid140709_00 data10_7TeV.00152508.physics_MinBias.merge.ESD.f241_p151_tid140712_00 data10_7TeV.00152166.physics_MinBias.merge.ESD.f239_p151/ data10_7TeV.00152221.physics_MinBias.merge.ESD.f239_p151/ data10_7TeV.00152345.physics_MinBias.merge.ESD.f239_p151_tid140701_00

Now, not all the lumi blocks inside these files are useful. With athena, I run over all the files, and in Interactions.C, I make cuts to select good ones. Just search for LumiBlock, and you will see what I mean.

This should keep you busy for a while ;- And, feel free to ask for help. I may have forgotten something while writing this e-mail. Once you have run small test jobs, you can then launch grid jobs. Be aware that the output root files from running athena can be quite large, especially for the MC.

Mon, Oct 25, 2010

Ran on single data files, example of histograms: see attachment! However, due to using only one file -> low statistics, now time to run on grid!

Wed, Oct 27, 2010

1) Datasets with root files:

MC:

user10.VivekJain.TrackPerform_minbias_r1229_V90_7TeVMC_500MeVTrkChiLt5 user10.VivekJain.TrackPerform_minbias_r1229_V90_7TeVMC_500MeVTrkChiLt5_ND_retry

data: user10.VivekJain.TrackPerform_minbias_run152166_V90_p151_500MeVTrkChi5_wOutGRL user10.VivekJain.TrackPerform_minbias_run152221_V90_p151_500MeVTrkChi5_wOutGRL user10.VivekJain.TrackPerform_minbias_run152345_V90_p151_500MeVTrkChi5_wOutGRL user10.VivekJain.TrackPerform_minbias_run152409_V90_p151_500MeVTrkChi5_wOutGRL user10.VivekJain.TrackPerform_minbias_run152441_V90_p151_500MeVTrkChi5_wOutGRL user10.VivekJain.TrackPerform_minbias_run152508_V90_p151_500MeVTrkChi5_wOutGRL

There is some documentation at https://twiki.cern.ch/twiki/bin/view/AtlasProtected/PhysicsAnalysisWorkBookFindEvents

2) There are many switches in Interactions.C, e.g., doTruth to run on MC files, doZweight for reweighting the MC. You will need to change them.

3) Here's the correct way to do the re-weighting.

a) You will have to run on the MC once and make a root file. Call it whatever you want, e.g., Interactions_MC.root

b) In Interactions.C, you will need to write a similar block of code for reading this new file as there is for Interactions_data.root

c) You need to make two new variables:

maxDataVal = (double) m_data_PVZ[HistZbins/2]; maxMCVal =(double) m_MC_PVZ[HistZbins/2]; cout<<"max values in data/MC "<<maxDataVal<<","<<maxMCVal<<endl;

d) Where you actually do the re-weighting replace,

bincont = (double) data_PVZ[Zbin]; Zweight = bincont/((double) TotZEnt);

with

double drat = m_data_PVZ[Zbin]/maxDataVal; double mcrat = m_MC_PVZ[Zbin]/maxMCVal; Zweight = drat/mcrat;

To check if the re-weighting went off OK, then the 2nd time when you run on MC, look at PVZ_afterWt and compare with PVZ_after in Interactions_data.root.

4) Some plots in Interactions.C are only made for truth information, and these are filled only for MC files, e.g. plots with names like _FidTruth_ or Refit, etc. This is what the switch doTruth does. Others use reconstructed information, and are filled for both data and MC, e.g., _all_, _gt2Trk_, etc

Sorry, but Interactions.C is a rat's nest wink It kept growing and growing. My current code is much more streamlined. You can get rid of whatever you don't want, e.g., plots with names like AllRecoTrk*, etc.

5) Near the start of looping over events, I make cuts on the Good RUns and Lumi Blocks,

// make LB cuts on data if(doTruth) {

}


> check for nomenclature of variables....

Wed, Nov 10, 2010

Run analysis with higher statistics (dataset TrackPerform_minbinbias_run152166_V90_p151_500MeVTrkChi5_wOutGRL_dq2, 119 files) - > plots see attachment!

Wed, Nov 17, 2010

Chained files for high statistics in a wrong way... downloading all datasets. Fit ok!

Fri, Nov 19, 2010

Moved to pathena to run jobs.

Beam pipe stability - runs: ( * # Event > 15 000 000)

15/16 Nov: 169226, 169223, 169206

25/27 Oct: 167607, 167776 *

3/4 Oct: 166142, 166198 *

25/26 Sept: 165732, 165767 *

1/2/3/4 Sept: 164031, 164235, 163132

28/29 Aug: 163132, 162843 *

4/6 Aug: 160801, 160879 *

29 Jul: 160879 *

Jul 13/14/15: 159041, 159086, 159113 *

29 Jun/1 Jul: 158392, 158299, 158269 *

Mon, 6 Dec, 2010

se attachement about beam pipe stability over time.

-- KatalinNikolics - 06-Aug-2010

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf BeamPipePositionFit_Sheet1.pdf r1 manage 583.6 K 2010-12-06 - 18:57 KatalinNikolics Beam pipe stability over time, > 15Mio events/input set
Unknown file formatdocx Log011010.docx r1 manage 5.6 K 2010-10-01 - 17:58 KatalinNikolics  
PNGpng Picture_10.png r1 manage 29.2 K 2010-10-25 - 15:06 KatalinNikolics run_Interaction_single.C, single data file as input
PNGpng Picture_11.png r1 manage 21.2 K 2010-10-25 - 15:06 KatalinNikolics run_Interaction_single.C, single data file as input
PNGpng Picture_13.png r1 manage 20.4 K 2010-10-25 - 15:07 KatalinNikolics run_Interaction_single.C, single data file as input
PNGpng Picture_2.png r1 manage 25.6 K 2010-11-10 - 13:22 KatalinNikolics TrackPerform_minbinbias_run152166_V90_p151_500MeVTrkChi5_wOutGRL_dq2
PNGpng Picture_3.png r1 manage 46.6 K 2010-11-10 - 13:22 KatalinNikolics TrackPerform_minbinbias_run152166_V90_p151_500MeVTrkChi5_wOutGRL_dq2
PNGpng Picture_5.png r1 manage 62.7 K 2010-11-10 - 13:22 KatalinNikolics TrackPerform_minbinbias_run152166_V90_p151_500MeVTrkChi5_wOutGRL_dq2
PNGpng Picture_6.png r1 manage 40.8 K 2010-11-10 - 13:32 KatalinNikolics TrackPerform_minbinbias_run152166_V90_p151_500MeVTrkChi5_wOutGRL_dq2
PDFpdf SecondaryHadronic_NovUNIGE.pdf r1 manage 5043.7 K 2010-11-26 - 15:18 KatalinNikolics First results from mapping beam pipe and inner detector using secondary hadronic interactions
Edit | Attach | Watch | Print version | History: r24 < r23 < r22 < r21 < r20 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r24 - 2010-12-09 - KatalinNikolics
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

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