From 1af83b88d082da40c4da9a241fbffa85023accc3 Mon Sep 17 00:00:00 2001
From: adrien-matta <a.matta@surrey.ac.uk>
Date: Fri, 7 Nov 2014 14:49:12 +0000
Subject: [PATCH] * Adding TAMU project for Tiara at Texa simulation

---
 Inputs/DetectorConfiguration/Tiara.detector   |   4 +-
 NPAnalysis/MakePhysicalTree/RunToTreat.txt    |   7 +-
 NPAnalysis/TAMU/Analysis                      | Bin 0 -> 35740 bytes
 NPAnalysis/TAMU/Analysis.cxx                  |  78 +++++++++++
 NPAnalysis/TAMU/Analysis.h                    | 124 ++++++++++++++++++
 NPAnalysis/TAMU/Analysis.o                    | Bin 0 -> 28908 bytes
 NPAnalysis/TAMU/Makefile                      |  30 +++++
 NPAnalysis/TAMU/RunToTreat.txt                |  14 ++
 NPLib/Tiara/TTiaraHyballPhysics.cxx           |   2 +-
 NPLib/VDetector/DetectorManager.cxx           |   2 +-
 NPSimulation/AnnularS1/AnnularS1.cc           |   6 +-
 .../ComptonTelescope/ComptonTelescope.cc      |   9 +-
 NPSimulation/DummyDetector/DummyDetector.cc   |  12 +-
 NPSimulation/SSSD/ThinSi.cc                   |   1 +
 NPSimulation/Tigress/Tigress.cc               |   1 +
 NPSimulation/src/ParticleStack.cc             |   4 +-
 NPSimulation/src/VDetector.cc                 |   3 +
 17 files changed, 281 insertions(+), 16 deletions(-)
 create mode 100755 NPAnalysis/TAMU/Analysis
 create mode 100644 NPAnalysis/TAMU/Analysis.cxx
 create mode 100644 NPAnalysis/TAMU/Analysis.h
 create mode 100644 NPAnalysis/TAMU/Analysis.o
 create mode 100644 NPAnalysis/TAMU/Makefile
 create mode 100644 NPAnalysis/TAMU/RunToTreat.txt

diff --git a/Inputs/DetectorConfiguration/Tiara.detector b/Inputs/DetectorConfiguration/Tiara.detector
index 57c30e53c..53c11b848 100644
--- a/Inputs/DetectorConfiguration/Tiara.detector
+++ b/Inputs/DetectorConfiguration/Tiara.detector
@@ -33,11 +33,11 @@ Tiara
     Z= -147
     R= 0
     Phi= 180
-  %TiaraHyballWedge
+  TiaraHyballWedge
     Z= -147
     R= 0
     Phi= 240
-  %TiaraHyballWedge
+  TiaraHyballWedge
     Z= -147
     R= 0
     Phi= 300
diff --git a/NPAnalysis/MakePhysicalTree/RunToTreat.txt b/NPAnalysis/MakePhysicalTree/RunToTreat.txt
index b620b3931..3eb76adf7 100644
--- a/NPAnalysis/MakePhysicalTree/RunToTreat.txt
+++ b/NPAnalysis/MakePhysicalTree/RunToTreat.txt
@@ -1,9 +1,10 @@
 TTreeName 
-	AutoTree
-RootFileName 
+	SimulatedTree
+RootFileName
+  ../../Outputs/Simulation/Test1.root 
 %	/data/e628X/e628/acquisition/run_root/run_1352.1.root
 %	/data/e628X/e628/acquisition/run_root/run_1353.0.root
-	/data/e628X/e628/acquisition/run_root/run_1354.0.root
+% /data/e628X/e628/acquisition/run_root/run_1354.0.root
 %	/data/e628X/e628/acquisition/run_root/run_1354.1.root
 %	/data/e628X/e628/acquisition/run_root/run_1355.0.root
 %	/data/e628X/e628/acquisition/run_root/run_1356.0.root
diff --git a/NPAnalysis/TAMU/Analysis b/NPAnalysis/TAMU/Analysis
new file mode 100755
index 0000000000000000000000000000000000000000..51b49831b4f26db0704d1cf57f594d163074da92
GIT binary patch
literal 35740
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
W0COnn9<06%XkP=Ib0t<b$o@B5TmVo2

literal 0
HcmV?d00001

diff --git a/NPAnalysis/TAMU/Analysis.cxx b/NPAnalysis/TAMU/Analysis.cxx
new file mode 100644
index 000000000..12ee9b6fb
--- /dev/null
+++ b/NPAnalysis/TAMU/Analysis.cxx
@@ -0,0 +1,78 @@
+#include "Analysis.h"
+using namespace std;
+
+int main(int argc, char** argv)
+{
+   // command line parsing
+   NPOptionManager* myOptionManager = NPOptionManager::getInstance(argc,argv);
+
+   // Instantiate RootInput
+   string runToReadfileName = myOptionManager->GetRunToReadFile();
+   RootInput:: getInstance(runToReadfileName);
+
+   // if input files are not given, use those from TAsciiFile
+   if (myOptionManager->IsDefault("DetectorConfiguration")) {
+      string name = RootInput::getInstance()->DumpAsciiFile("DetectorConfiguration");
+      myOptionManager->SetDetectorFile(name);
+   }
+
+   // get input files from NPOptionManager
+   string detectorfileName    = myOptionManager->GetDetectorFile();
+   string calibrationfileName = myOptionManager->GetCalibrationFile();
+   string OutputfileName      = myOptionManager->GetOutputFile();
+   
+   // Instantiate RootOutput
+   RootOutput::getInstance("Analysis/"+OutputfileName, "AnalysedTree");
+   
+   // Instantiate the detector using a file
+   NPA::DetectorManager* myDetector = new DetectorManager();
+   myDetector->ReadConfigurationFile(detectorfileName);
+   double EGammaDC[4];
+   RootOutput::getInstance()->GetTree()->Branch("EGammaDC",             &EGammaDC,             "EGammaDC[4]/D");
+   float beta=0.17;
+
+   // Get the formed Chained Tree and Treat it
+   TChain* Chain = RootInput:: getInstance() -> GetChain();
+
+   // Get number of events to treat
+   cout << endl << "///////// Starting Analysis ///////// "<< endl;
+   int nentries = Chain->GetEntries();
+   cout << " Number of Event to be treated : " << nentries << endl;
+   clock_t begin = clock();
+   clock_t end = begin;
+
+   // main loop on entries
+   for (int i = 0; i < nentries; i++) {
+      if (i%10000 == 0 && i!=0)  {
+         cout.precision(5);
+         end = clock();
+         double TimeElapsed = (end-begin) / CLOCKS_PER_SEC;
+         double percent = (double)i/nentries;
+         double TimeToWait = (TimeElapsed/percent) - TimeElapsed;
+         cout  << "                                                                                                "<< flush;
+         cout  << "\r Progression:" << percent*100 << " % \t | \t Remaining time : ~" <<  TimeToWait <<"s"<< flush;
+      }
+      else if (i == nentries-1)  cout << "\r Progression:" << " 100% " <<endl;
+
+      // get data
+      Chain -> GetEntry(i);
+
+      myDetector->ClearEventPhysics();
+      myDetector->BuildPhysicalEvent();
+
+      /************************************************
+
+      Put your code here
+
+      ************************************************/
+      RootOutput::getInstance()->GetTree()->Fill();
+   }
+
+   cout << "A total of " << nentries << " event has been annalysed " << endl ;
+
+   RootOutput::getInstance()->Destroy();
+   RootInput::getInstance()->Destroy();
+   NPOptionManager::getInstance()->Destroy();
+
+   return 0 ;
+}
diff --git a/NPAnalysis/TAMU/Analysis.h b/NPAnalysis/TAMU/Analysis.h
new file mode 100644
index 000000000..d5ca8c305
--- /dev/null
+++ b/NPAnalysis/TAMU/Analysis.h
@@ -0,0 +1,124 @@
+// You can use this file to declare your spectra, file, energy loss , ... and whatever you want.
+// This way you can remove all unnecessary declaration in the main programm.
+// In order to help debugging and organizing we use Name Space.
+
+/////////////////////////////////////////////////////////////////////////////////////////////////
+// -------------------------------------- VARIOUS INCLUDE ---------------------------------------
+
+// NPA
+#include "DetectorManager.h"
+#include "NPOptionManager.h"
+
+// STL C++
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <cmath>
+#include <cstdlib>
+
+// ROOT
+#include <TROOT.h>
+#include <TChain.h>
+#include <TFile.h>
+#include <TLeaf.h>
+#include <TVector3.h>
+#include <TRandom.h>
+
+// NPL
+#include "RootInput.h"
+#include "RootOutput.h"
+#include "NPReaction.h"
+#include "TInitialConditions.h"
+#include "TPlasticData.h"
+#include "TMust2Data.h"
+#include "TMust2Physics.h"
+#include "TExogamPhysics.h"
+#include "TSSSDPhysics.h"
+#include "TPlasticPhysics.h"
+#include "GaspardTracker.h"
+
+// Use CLHEP System of unit and Physical Constant
+#include "NPGlobalSystemOfUnits.h"
+#include "NPPhysicalConstants.h"
+
+
+// ----------------------------------------------------------------------------------------------
+double ThetaCalculation (TVector3 A , TVector3 B) ;
+/////////////////////////////////////////////////////////////////////////////////////////////////
+// ----------------------------------- DOUBLE, INT, BOOL AND MORE -------------------------------
+namespace VARIABLE
+	{
+		//	Declare your Variable here:
+		
+			double X1,Y1,Z1				;
+			int N1,N2 = 0				;
+			bool check= false			;
+	
+		//	A Usefull Simple Random Generator
+			TRandom Rand;
+	}
+	 
+using namespace VARIABLE ;
+// ----------------------------------------------------------------------------------------------
+
+
+
+/////////////////////////////////////////////////////////////////////////////////////////////////
+// -----------------------------------GRAPH------------------------------------------------------
+#include <TObject.h>
+#include <TH1.h>
+#include <TH1F.h>
+#include <TH2.h>
+#include <TH2F.h>
+#include <TGraph2D.h>
+
+namespace GRAPH
+	{
+		//	Declare your Spectra here:
+	
+			TH1F *myHist1D = new TH1F("Hist1D","Histogramm 1D ; x ; count", 1000 , -5 , 5 )					;
+	
+			TH2F *myHist2D = new TH2F("Hist2D","Histogramm 2D ; x ; y ", 128 , 1 , 128 , 128 , 1 , 128 )	;
+
+	}
+
+using namespace GRAPH ;
+// --------------------------------------------------------------------------------------------
+
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+// -----------------------------------CUT------------------------------------------------------
+#include <TCutG.h>
+namespace CUT
+	{
+		//	Declare your Cut here:
+
+	}
+
+using namespace CUT ;
+// --------------------------------------------------------------------------------------------
+
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////
+// -----------------------------------ENERGY LOSS----------------------------------------------
+#include "NPEnergyLoss.h"
+using namespace NPL ;
+namespace ENERGYLOSS
+	{
+	
+		//	Declare your Energy loss here	:
+	/*		EnergyLoss ProtonTarget = EnergyLoss 	(	"CD2.txt" 	,
+														100 		,
+														1,
+														1			);
+	*/
+	}
+	
+using namespace ENERGYLOSS ;
+// ----------------------------------------------------------------------------------------------
+/////////////////////////////////////////////////////////////////////////////////////////////////
+
+
diff --git a/NPAnalysis/TAMU/Analysis.o b/NPAnalysis/TAMU/Analysis.o
new file mode 100644
index 0000000000000000000000000000000000000000..862bc1a8688665f0eed43491fc185c9ccceed7fa
GIT binary patch
literal 28908
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
LEJYS)h@t%--H?BZ

literal 0
HcmV?d00001

diff --git a/NPAnalysis/TAMU/Makefile b/NPAnalysis/TAMU/Makefile
new file mode 100644
index 000000000..bdfccb1e4
--- /dev/null
+++ b/NPAnalysis/TAMU/Makefile
@@ -0,0 +1,30 @@
+# include same architecture file than for NPLib
+# so that consistency is ensured
+include $(NPTOOL)/NPLib/Makefile.arch
+
+# additional libraries
+LIBRARY  = `$(NPTOOL)/NPLib/liblist`
+
+PROGRAMS	= Analysis
+
+all:	$(PROGRAMS)
+
+Analysis:	Analysis.o
+	$(LD) $(LDFLAGS) $^ $(LIBS) $(LIBRARY) $(OutPutOpt) $@
+	@echo "$@ done"
+	
+
+# rule for creating .o from .cxx
+.SUFFIXES: .$(SrcSuf)
+.$(SrcSuf).$(ObjSuf):
+	$(CXX) $(CXXFLAGS) $(INCLUDE) -c $<
+
+# some cleaning
+clean:
+	rm -rf *.o
+
+distclean:
+	make clean; rm $(PROGRAMS)
+
+# dependences
+Analysis.o:	Analysis.cxx	Analysis.h
diff --git a/NPAnalysis/TAMU/RunToTreat.txt b/NPAnalysis/TAMU/RunToTreat.txt
new file mode 100644
index 000000000..3eb76adf7
--- /dev/null
+++ b/NPAnalysis/TAMU/RunToTreat.txt
@@ -0,0 +1,14 @@
+TTreeName 
+	SimulatedTree
+RootFileName
+  ../../Outputs/Simulation/Test1.root 
+%	/data/e628X/e628/acquisition/run_root/run_1352.1.root
+%	/data/e628X/e628/acquisition/run_root/run_1353.0.root
+% /data/e628X/e628/acquisition/run_root/run_1354.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1354.1.root
+%	/data/e628X/e628/acquisition/run_root/run_1355.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1356.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1357.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1357.1.root
+%	/data/e628X/e628/acquisition/run_root/run_1358.0.root
+%	/data/e628X/e628/acquisition/run_root/run_1358.1.root
diff --git a/NPLib/Tiara/TTiaraHyballPhysics.cxx b/NPLib/Tiara/TTiaraHyballPhysics.cxx
index 3faf224b0..453e8c9a1 100644
--- a/NPLib/Tiara/TTiaraHyballPhysics.cxx
+++ b/NPLib/Tiara/TTiaraHyballPhysics.cxx
@@ -428,7 +428,7 @@ void TTiaraHyballPhysics::ReadConfiguration(string Path){
 
     getline(ConfigFile, LineBuffer);
     // cout << LineBuffer << endl;
-    if (LineBuffer.compare(0, 11, "TiaraHyball") == 0)
+    if (LineBuffer.compare(0, 5, "Tiara") == 0)
       ReadingStatus = true;
 
     while (ReadingStatus && !ConfigFile.eof()) {
diff --git a/NPLib/VDetector/DetectorManager.cxx b/NPLib/VDetector/DetectorManager.cxx
index 9027d06d8..030b87339 100644
--- a/NPLib/VDetector/DetectorManager.cxx
+++ b/NPLib/VDetector/DetectorManager.cxx
@@ -581,7 +581,7 @@ void DetectorManager::ReadConfigurationFile(string Path)   {
     ////////////////////////////////////////////
     ////////// Search for Tiara Hyball /////////
     ////////////////////////////////////////////
-    else if (LineBuffer.compare(0, 11, "TiaraHyball") == 0 && TiaraHyball == false) {
+    else if (LineBuffer.compare(0, 5, "Tiara") == 0 && TiaraHyball == false) {
 #ifdef INC_TIARA
       TiaraHyball = true;
       cout << "//////// Tiara Hyball ////////" << endl << endl;
diff --git a/NPSimulation/AnnularS1/AnnularS1.cc b/NPSimulation/AnnularS1/AnnularS1.cc
index 9aa7ec047..638858822 100644
--- a/NPSimulation/AnnularS1/AnnularS1.cc
+++ b/NPSimulation/AnnularS1/AnnularS1.cc
@@ -335,6 +335,7 @@ void AnnularS1::InitializeRootOutput(){
   RootOutput *pAnalysis = RootOutput::getInstance();
   TTree *pTree = pAnalysis->GetTree();
   pTree->Branch("AnnularS1", "TS1Data", &m_Event);
+  pTree->SetBranchAddress("AnnularS1",&m_Event);
 }
 
 // Read sensitive part and fill the Root tree.
@@ -393,9 +394,10 @@ void AnnularS1::ReadSensitive(const G4Event* event){
 // Initilize the Scorer use to read out the sensitive volume 
 void AnnularS1::InitializeScorers()
 {
+ bool already_exist = false;  
   // Associate Scorer
-  m_Scorer = new G4MultiFunctionalDetector("AnnularS1_Scorer");
-
+  m_Scorer = CheckScorer("AnnularS1_Scorer",already_exist);
+  if(already_exist) return;
 
   G4VPrimitiveScorer* AnnularScorer =
     new  SILICONSCORERS::PS_Silicon_Annular("AnnularS1_Scorer",
diff --git a/NPSimulation/ComptonTelescope/ComptonTelescope.cc b/NPSimulation/ComptonTelescope/ComptonTelescope.cc
index 2d23c0288..c1b14b2fb 100755
--- a/NPSimulation/ComptonTelescope/ComptonTelescope.cc
+++ b/NPSimulation/ComptonTelescope/ComptonTelescope.cc
@@ -614,6 +614,9 @@ void ComptonTelescope::InitializeRootOutput()
    TTree *pTree = pAnalysis->GetTree();
    pTree->Branch("ComptonTelescope",        "TComptonTelescopeData",        &m_Event);
    pTree->Branch("ComptonTelescopeProcess", "TComptonTelescopeProcessData", &m_ProcessEvent);
+   pTree->SetBranchAddress("ComptonTelescope", &m_Event);
+   pTree->SetBranchAddress("ComptonTelescopeProcess", &m_ProcessEvent);
+  
 }
 
 
@@ -972,8 +975,12 @@ void ComptonTelescope::InitializeMaterial()
 
 void ComptonTelescope::InitializeScorers()
 {
+
+  bool already_exist = false; 
    // First stage Associate Scorer
-   m_TrackerScorer = new G4MultiFunctionalDetector("TrackerScorerComptonTelescope");
+   m_TrackerScorer = CheckScorer("TrackerScorerComptonTelescope",already_exist);
+   if(already_exist) return;
+
    G4VPrimitiveScorer* TowerNbr    = new ComptonTelescopeScorerTrackerTowerNumber("TowerNumber", "ComptonTelescopeTower", 0);
    G4VPrimitiveScorer* DSSSDNbr    = new ComptonTelescopeScorerTrackerDSSSDNumber("DSSSDNumber", "ComptonTelescopeTower", 0);
    G4VPrimitiveScorer* Energy      = new ComptonTelescopeScorerTrackerEnergy("Energy", "ComptonTelescopeTower", 0);
diff --git a/NPSimulation/DummyDetector/DummyDetector.cc b/NPSimulation/DummyDetector/DummyDetector.cc
index 5eca72772..84849c60a 100644
--- a/NPSimulation/DummyDetector/DummyDetector.cc
+++ b/NPSimulation/DummyDetector/DummyDetector.cc
@@ -317,6 +317,7 @@ void DUMMYDetector::InitializeRootOutput()
    RootOutput *pAnalysis = RootOutput::getInstance();
    TTree *pTree = pAnalysis->GetTree();
    pTree->Branch("DUMMYDetector", "TDUMMYDetectorData", &m_Event) ;
+   pTree->SetBranchAddress("DUMMYDetector", &m_Event) ;
 }
 
 // Read sensitive part and fill the Root tree.
@@ -424,9 +425,10 @@ void DUMMYDetector::InitializeMaterial()
 
 ////////////////////////////////////////////////////////////////   
 void DUMMYDetector::InitializeScorers() 
-   { 
-      m_DUMMYDetectorScorer = new G4MultiFunctionalDetector("DUMMYDetectorScorer") ;
-      G4SDManager::GetSDMpointer()->AddNewDetector(m_DUMMYDetectorScorer);
+   {
+      bool already_exist = false;  
+      m_DUMMYDetectorScorer = CheckScorer("DUMMYDetectorScorer",already_exist) ;
+      if(already_exist) return;
       
       G4VPrimitiveScorer* DetNbr = new PSDetectorNumber("DUMMYDetectorNumber","DUMMYDetector", 0) ;
       G4VPrimitiveScorer* Energy = new PSEnergy("Energy","DUMMYDetector", 0);
@@ -436,7 +438,7 @@ void DUMMYDetector::InitializeScorers()
       m_DUMMYDetectorScorer->RegisterPrimitive(DetNbr);
       m_DUMMYDetectorScorer->RegisterPrimitive(Energy);
       m_DUMMYDetectorScorer->RegisterPrimitive(Time);      
-      
-      
+ 
+      G4SDManager::GetSDMpointer()->AddNewDetector(m_DUMMYDetectorScorer);
    }
 ////////////////////////////////////////////////////////////////
diff --git a/NPSimulation/SSSD/ThinSi.cc b/NPSimulation/SSSD/ThinSi.cc
index 79184184d..33ae2498f 100644
--- a/NPSimulation/SSSD/ThinSi.cc
+++ b/NPSimulation/SSSD/ThinSi.cc
@@ -62,6 +62,7 @@ using namespace CLHEP;
 ThinSi::ThinSi(){
   InitializeMaterial();
   m_Event = new TSSSDData();
+  m_StripScorer=0;
 }
 
 ThinSi::~ThinSi(){
diff --git a/NPSimulation/Tigress/Tigress.cc b/NPSimulation/Tigress/Tigress.cc
index ecc02a84d..4ab25dba9 100644
--- a/NPSimulation/Tigress/Tigress.cc
+++ b/NPSimulation/Tigress/Tigress.cc
@@ -766,6 +766,7 @@ void Tigress::InitializeRootOutput(){
   RootOutput *pAnalysis = RootOutput::getInstance();
   TTree *pTree = pAnalysis->GetTree();
   pTree->Branch("Tigress", "TTigressData", &m_Event) ;
+  pTree->SetBranchAddress("Tigress", &m_Event) ;    
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
diff --git a/NPSimulation/src/ParticleStack.cc b/NPSimulation/src/ParticleStack.cc
index 38b38facf..f2138e614 100644
--- a/NPSimulation/src/ParticleStack.cc
+++ b/NPSimulation/src/ParticleStack.cc
@@ -25,7 +25,8 @@
 
 // G4 headers
 #include "G4ParticleTable.hh"
-
+#include "G4RunManager.hh"
+#include "G4Run.hh"
 // NPL
 #include "RootOutput.h"
 
@@ -243,6 +244,7 @@ void ParticleStack::ShootAllParticle(G4Event* anEvent){
       // Write the DEDX table for charged particle and 
       // all material used in the simulation 
       if( anEvent->GetEventID()==0
+          && G4RunManager::GetRunManager()->GetCurrentRun()->GetRunID()==0
           && m_ParticleStack[i].GetParticleDefinition()->GetPDGCharge()!=0){
        MaterialManager::getInstance()
         ->WriteDEDXTable(m_ParticleStack[i].GetParticleDefinition(),
diff --git a/NPSimulation/src/VDetector.cc b/NPSimulation/src/VDetector.cc
index bba2ac02e..7e613a2dd 100644
--- a/NPSimulation/src/VDetector.cc
+++ b/NPSimulation/src/VDetector.cc
@@ -47,6 +47,9 @@ void VDetector::InitializeRootOutput(){
    // if the branch does not exist yet, create it
    if (!pTree->GetBranch("InteractionCoordinates"))
       pTree->Branch("InteractionCoordinates", "TInteractionCoordinates", &ms_InterCoord);
+
+  pTree->SetBranchAddress("InteractionCoordinates", &ms_InterCoord);
+
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
-- 
GitLab